Jewoo Sin

[이것이 코딩 테스트다 with Python] 연구소(Java)

Goal “이것이 코딩 테스트다 with Python” 교재의 문제를 분석하고 코드와 함께 이해해보기 위한 글입니다. 문제 분석 3개의 벽을 세우는 모든 경우의 수에서 안전영역을 세어서 이전의 안전영역보다 값을 갈아치우는 방식으로 프로그래밍하면 될 것 같습니다. 모든 경우의 수의 3개의 벽을 세우는 DFS 바이러스가 퍼지게 하는 BFS...

[이것이 코딩 테스트다 with Python] 특정 거리의 도시 찾기(Java)

Goal “이것이 코딩 테스트다 with Python” 교재의 문제를 분석하고 코드와 함께 이해해보기 위한 글입니다. 문제 분석 시작 노드가 주어지고 있으므로 시작 노드에서부터 연결된 노드를 확인해 이전 노드까지의 거리에서 +1 연산을 해 거리값을 갱신하고 큐에 삽입해 BFS를 하고, 특정 거리인지 확인해 출력하는 프로그램을 작성해보도록 하겠습니...

[이것이 코딩 테스트다 with Python] 미로 탈출(Java)

Goal “이것이 코딩 테스트다 with Python” 교재의 문제를 분석하고 코드와 함께 이해해보기 위한 글입니다. 문제 분석 주어지는 조건이 BFS로 최단 거리를 풀라는 의도가 담겨져 있다고 느껴지네요. 시작 포인트부터 상하좌우를 살펴 맵 밖으로 나가지 않도록 하는 조건과 이전 위치보다 탈출구에 가까운지를 확인하는 조건을 갖는 BFS를 구현해...

[이것이 코딩 테스트다 with Python] 왕실의 나이트(Java)

Goal “이것이 코딩 테스트다 with Python” 교재의 문제를 분석하고 코드와 함께 이해해보기 위한 글입니다. 문제 분석 나이트가 이동할 수 있는 경로를 하나씩 확인하면서 이동하면 되고 주어진 공간은 8 x 8 크기이므로 시간 복잡도는 고려하지 않아도 될 것 같습니다. x, y 좌표의 이동으로 나이트의 위치 이동을 구현하고 알파벳으로 주어...

[이것이 코딩 테스트다 with Python] 상하좌우(Java)

Goal “이것이 코딩 테스트다 with Python” 교재의 문제를 분석하고 코드와 함께 이해해보기 위한 글입니다. 문제 분석 우선 시간 복잡도를 생각해봅시다. 주어진 이동 횟수의 최대값이 100이므로 O(N) 시간 복잡도 알고리즘을 사용해도 문제가 없습니다. 여행가가 상하좌우로 움직인 결과와 공간 밖으로 나가는지를 x, y 좌표를 이용해 구...

[이것이 코딩 테스트다 with Python] 모험가 길드(Java)

Goal “이것이 코딩 테스트다 with Python” 교재의 문제를 분석하고 코드와 함께 이해해보기 위한 글입니다. 문제 분석 먼저 시간 복잡도를 고려해보면 N값이 100,000까지 커질 수 있으므로 O(nlogn) 시간 복잡 알고리즘까지 사용할 수 있습니다. 그룹에 있는 모험가들의 최대 공포도만큼 그 그룹의 모험가 수가 보장되어야 하기 때문...