본문 바로가기

dfs11

[프로그래머스] 아이템 줍기 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/87694# 코딩테스트 연습 - 11주차 [[1,1,7,4],[3,2,5,5],[4,3,6,9],[2,6,8,8]] 1 3 7 8 17 [[1,1,8,4],[2,2,4,9],[3,6,9,8],[6,3,7,7]] 9 7 6 1 11 [[2,2,5,5],[1,3,6,4],[3,1,4,6]] 1 4 6 3 10 programmers.co.kr 푸는데 약 5시간 정도 걸린... ㅠ 문제입니다. 글 작성시간 기준 수요일 오후 5시 반 정도 됐는데 지금까지 푼 사람이 총 101명이네요. (제가 101번째) 이 문제를 접근하려면 크게 세 단계로 나눌 수 있습니다. 주어진 좌표를 이용하여 사각형의 테두리 좌표들을 구.. 2021. 10. 20.
[프로그래머스] 전력망을 둘로 나누기 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/86971 코딩테스트 연습 - 9주차 9 [[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8],[7,9]] 3 7 [[1,2],[2,7],[3,7],[3,4],[4,5],[6,7]] 1 programmers.co.kr 약간 생각하느라 시간이 걸렸던 문제입니다. 처음에는 크루스칼 알고리즘으로 접근해야 하나? (풀었던 비슷한 문제) 하고 생각도 해 봤는데 각 전선에 별도의 가치가 존재하지 않고, 간선의 가치의 합이 아닌 노드의 개수의 차이를 최소화 하는 문제라서 이 방법으로는 실패했습니다. 그 다음으로 제가 시도한 방법은 전선을 하나씩 끊어 보며 dfs를 통해 탐색하는 방법입니다. .. 2021. 10. 6.
[프로그래머스] 여행경로 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr 여러 공항이 있고, 출발지와 도착지가 적힌 티켓이 tickets 배열에 주어집니다. Tickets 내의 모든 티켓들을 각각 한 번씩만 사용하여, 주어진 모든 도시를 방문하는 경우의 방문 순서를 구하는 문제입니다. 모든 도시를 방문할 수 없는 경우는 입력으로 주어지지 않으며, 가능한 경우가 여러 가지 존재하는 경우, .. 2021. 10. 2.
[백준 13460번] 구슬 탈출 2 난이도: 골드 2 문제 링크: www.acmicpc.net/problem/13460 출처: 삼성 SW역량 테스트 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 앞서 다룬 2048 (easy) 와 유사한 성격의 문제입니다. 대략 위처럼 생긴 장난감이 있는 상황입니다. 단, 테두리는 전부 벽으로 막혀 있고, 위 사진과는 다르게 탈출구는 특정 위치의 바닥에 뚫려 있습니다. 또, 구슬이 파란색과 빨간색 두 개가 있는데, 파란색을 빼지 않고 빨간색을 빼야 성공입니다. .. 2021. 3. 24.
[백준 12100번] 2048 (easy) 난이도: 골드 2 문제 링크: www.acmicpc.net/problem/12100 출처: 삼성 SW역량 테스트 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 문제 설명이 긴 편이므로, 위 링크에서 직접 읽어 보시는 것을 추천드립니다. 잘 알려진 2048이라는 게임을 부분적으로 구현한 후, 최대 5번 움직을 때 얻을 수 있는 가장 큰 값을 출력하는 문제입니다. '움직임' 이라고 함은 상하좌우 네 방향으로 숫자들을 이동시키는 것을 말하며, 이 때 이동하는 방향 중 값이 같고 아직 합.. 2021. 3. 24.