본문 바로가기

백준28

[백준 2668] 숫자 고르기 DFS 문제입니다. 입력을 받아 문제와 같은 형태를 만들기 위한 2차원 배열 arr 방문 확인을 위한 배열 visited 을 사용했습니다. 1부터 입력받은 N까지 DFS를 하면서 방문횟수가 2라면 DFS를 끝내고, 그게 아니라면 방문횟수를 늘려줍니다. 그리고 1 -> 2로 됫을경우 cnt를 1증가.(출력용 변수) 그리고 자기 밑에쪽으로 DFS. 앞으로 몇문제는 DFS를 풀어야겠습니다... 오랜만에 하니까 잘 안되네요 2019. 4. 16.
[백준 9663] N-Queen 유명한 NQueen 문제입니다. 체스판 모양으로 2차원 배열을 쓰지 않고 1차원 배열을 사용해 배열의 index는 row를, value는 col로 처리하였습니다 맨 윗줄의 첫번째칸에 넣고 이것이 가능한지 검사 후 가능하면 밑에줄 넣고 다시 검사. 반복 후 검사후 이것이 마지막 줄일때 answer를 늘려주는 방식입니다. 2019. 4. 11.
[백준 2667] 단지번호 붙이기 BFS 문제입니다. 미로 탐색이랑 비슷하고 문제에 있는 조건에 맞춰서 작성해주시면 됩니다. 일단 아파트단지용 배열과 방문 체크용 배열을 생성해 입력을 받아주시고 아파트 배열을 처음부터 끝까지 돌리면서 처음 걸리는 1의 좌표부터 BFS를 시작합니다. BFS가 호출이되면 (전체 단지 수 + 1) 를 해주시고, BFS를 돌리면서 붙어있는 아파트 갯수를 계산해 리턴해줘서 ArrayList에 넣었습니다. 그리고 ArrayList를 sort하고 전체단지수를 출력 후 ArrayList를 하나씩 출력했습니다. 2019. 4. 9.
[백준 1697] 숨바꼭질 BFS 문제입니다. 큐를 생성해 N을 넣고 현재 점 N을 기준으로 N-1 N+1 N*2 를 모두 구한뒤 이것이 범위를 벗어나지 않으면서 처음 탐색된 값일경우 배열의 현재위치값 + 1 해주고 큐에 넣어줍니다. 이것을 M이 될때까지 반복. 2019. 4. 9.