코딩테스트 24

[백준] 1697번: 숨바꼭질

https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 처음에는 n - 1, n + 1, 2 * n과 k의 차가 가장 적은 선택을 반복하는 식으로, 그러니까 그리디 알고리즘처럼 풀었는데, 예시를 보고 아 틀린 풀이구나 하고 바로 깨달았다. 그래서 이게 뭐지 싶어서 알고리즘 분류를 눌러봤다. BFS 문제였다.. 심지어 BFS 까먹어서 답을 한번 빠르게 쓱 읽어본 후 풀었다ㅋㅋ 그래프가 직접적으로 주어지지 않아도 BFS로 풀 수..

[백준] 2251번: 물통

https://www.acmicpc.net/problem/2251 2251번: 물통 각각 부피가 A, B, C(1≤A, B, C≤200) 리터인 세 개의 물통이 있다. 처음에는 앞의 두 물통은 비어 있고, 세 번째 물통은 가득(C 리터) 차 있다. 이제 어떤 물통에 들어있는 물을 다른 물통으로 쏟아 부 www.acmicpc.net 에러가 계속 나와서 chat gpt한테 디버깅해달라고 했는데, visited를 딕셔너리가 아니라 셋으로 하고 각 노드를 리스트가 아니라 튜플로 바꾸니까 답이 제대로 나왔다. 챗지피티 없으면 못살거같다.. HTML 삽입 미리보기할 수 없는 소스

[백준] 1525번: 퍼즐

https://www.acmicpc.net/problem/1525 1525번: 퍼즐 세 줄에 걸쳐서 표에 채워져 있는 아홉 개의 수가 주어진다. 한 줄에 세 개의 수가 주어지며, 빈 칸은 0으로 나타낸다. www.acmicpc.net 처음에는 입력 받은 퍼즐을 하나씩 돌면서 빈 공간이 곁에 있는 노드와 빈 공간의 위치를 바꾸는 식으로 bfs를 구현하려고 했었다. 하지만 막상 구현하려고 보니 노드 자체가 3*3 2차원 배열인 만큼 메모리를 많이 써야 하는 것 아닐까 하는 생각도 들었고, visited 배열을 어떻게 해야 할지도 몰랐고, 알고리즘 분류에 "해시를 사용한 집합과 맵" 이 있던데 어떻게 해시를 이용해서 구현하라는 거지 라는 생각도 들어서 문제에 손도 대지 못하고 있다가 그냥 풀이를 찾아봤다. 내..

[백준] 1963번: 소수 경로

벨로그에다가 공부한걸 정리했었는데, 가끔 내가 쓴 글이 404 오류 뜨면서 안보이길래 다시 티스토리로 옮기기로 했다. https://www.acmicpc.net/problem/1963 1963번: 소수 경로 소수를 유난히도 좋아하는 창영이는 게임 아이디 비밀번호를 4자리 ‘소수’로 정해놓았다. 어느 날 창영이는 친한 친구와 대화를 나누었는데: “이제 슬슬 비번 바꿀 때도 됐잖아” “응 지금 www.acmicpc.net 처음에는 for i in range(1, 10, 100, 1000) 이런식으로 한 숫자씩 바꿀 수 있게 구현했었는데 답이 제대로 나오는 경우도 있고 틀리게 나오는 경우도 있었다. 결국 다른 분들의 풀이를 찾아봤는데 다들 문자열로 바꿔서 푸셨다..ㅠㅠ 이렇게 풀 수는 없는건가.. 아예 다른 ..