태그: DFS

백준 순열사이클 10451

1. 순열사이클 문제 1.1. 컴퓨팅적 사고 순열사이클을 구하는문제이다. 사이클이 발생하면 dfs를 수행하였을때 모든값들이 check가 되어있을것이다. 따라서, 매번 순회할때마다 체크가 안된지점만 확인을 하면 최종적으로 몇개의 사이클이 만들어지는지를 알 수 있다. 테스트케이스로 3, 2, 7, 8, 1, 4, 5, 6일 경우 1~N까지의 수가 매칭이

백준 부모의 트리찾기 11725

1. 트리의 부모찾기 문제 1.1. 컴퓨팅적 사고 인접리스트로 해당되는 그래프를 연결시킨다. dfs로 해당되는 모든 부모의 값을 배열 갱신시킨다.(단 루트노드는 1번 부터 시작된다.) 시작점 예) parent[y] = x 최종적으로 parent에는 각 노드 2번부터 n번까지 부모의 값이 담겨져 있다. 1.2. 소스코드

삼성 SW 역량테스트 백준 주사위 굴리기 14499

1. 삼성 SW 역량테스트 백준 주사위 굴리기 14499문제 1.1. 아이디어 N*M의 상하좌우의 지도가 주어진다. 주사위 전개도를 살펴보면 다음과 같다. 2(top) 4(left) 1(up) 3(right) 5(bottom) 6(down) 해당 문제에서는 다음과 같은 변수명으로 주사위 문제를 풀어볼 예정이다. 주사위의 문제 조건을 살펴보면 다음과

삼성 SW 역량테스트 백준 사다리조작 15684

1. 삼성 SW 역량테스트 백준 사다리조작 15684문제 1.1. 컴퓨팅적 사고 n은 열의 개수, m은 가로선의 추가될 개수, h는 열의 개수입력을 받습니다. 그리고 가로선의 추가될 x,y좌표의 값을 체크를 하여 맵에 넣어주는데 조심해야할 부분이 있습니다. 저 같은경우에는 x,y의 좌표값이 들어왔을때 x,y의 좌표는 1로 놓고 x,y+1의 좌표는 2로

삼성 SW 역량테스트 백준 스타트와링크 15561

1. 문제 링크 삼성 SW 역량테스트 백준 스타트와 링크 15561 2. 컴퓨팅 사고 (1) N은 20까지 주어지므로 시간복잡도가 충분히 주어지므로 DFS를 통한 모든 경우를 구해주었다. 그리고 짝수인 팀원들을 구해야한다. (2) 가장중요한점은 팀을 어떻게 분리시킬 것인가를 잘 생각해야한다. 하나의 팀을 나누는 변수를 두어 스타트팀은 true, 링크팀은

삼성 SW 역량테스트 백준 감시 15683

1. 문제 링크 삼성 SW 역량테스트 백준 감시 15683 2. 컴퓨팅 사고 문제를 살펴보기전에 알아보아야할 것은 내가 구현하는 것들이 올바른 시간내에 들어오는지를 확인해야 합니다. 최악의 경우 카메라는 총 8대이기때문에 4^8 = 65536경우가 나오게 된다. 사무실의 최대 크기 8 * 8에서 감시못하는 공간을 카운트하면 65536 * 64 = 약

프로그래머스 외벽점검

1. 프로그래머스 외벽점검 1.1. 컴퓨팅적 사고 (1) 취약점의 출발지를 설정하고 취약지점을 평면으로 생각하여 해당 N범위를 넘어갈 것을 대비하여 취약지점+N까지 값들을 넣어줍니다. (2) 출발점과 다음 취약점의 거리가 사용 가능한 친구의 시간보다 크면 더이상 진행할 수 없는것이므로 다음값으로 갱신하여 진행 즉, 현재 친구의 시간으로 모든 외벽을 점검

릿코드 Decode String

1. 릿코드 Decode String Given an encoded string, return its decoded string. The encoding rule is: k[encoded_string], where the encoded_string inside the square brackets is being repeated exactly k times

프로그래머스 불량사용자

1. 프로그래머스 카카오 불량사용자 1.1. 문제 조건 1.1.1. 문제 설명 개발팀 내에서 이벤트 개발을 담당하고 있는 무지는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 사용자라는 이름으로 목록을 만들어서 당첨 처리 시 제외하도록 이벤트 당첨자 담당자인 프로도 에게