목록알고리즘 (11)
게으른 개발자
알고리즘 문제는 주로 파이썬으로 푼다. 원래 C++로 문제를 풀었는데 코드량도 너무 많고, 이것저것 신경 써야 할 부분이 많아서 파이썬으로 넘어왔다. 파이썬으로 알고리즘 문제를 풀면 코드도 간결하고 변수 자료형을 신경 쓰지 않아도 되기 때문에 편하다. 대부분 알고리즘 테스트에 언어 제한을 두지 않지만, 간혹 직군에 따라 언어를 제한하는 경우가 있었다. 파이썬에 익숙해져 있는데 갑자기 다른 언어로 문제를 풀려고 하면 문법도 헷갈리고 시간도 많이 걸린다. 그래서 알고리즘 코딩 테스트 전에 빠르게 공부할 수 있도록 알고리즘에 필요한 자료구조와 문법을 정리해 본다. 데이터 입출력 데이터 입력 및 출력 방법 try (BufferedReader br = new BufferedReader(new InputStream..
문제 https://www.acmicpc.net/problem/1600 1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있 www.acmicpc.net 문제 요약 말이 되고픈 원숭이 문제는 주어진 원숭이의 움직임으로 판(2차원 배열)의 오른쪽 위(0, 0)에서 왼쪽 아래(h-1, w-1)까지의 최단거리를 구하는 문제이다. 주어진 판에서 1은 벽을 의미하며 0은 평지를 의미한다. 원숭이는 벽을 말은 체스의 '나이트'와 같이 움직일 수 있다(말은 장애물을 뛰어넘을 수 있다). 원숭이는 말과 같이 k번 움직일 수 있으며, 말처럼 ..
문제 https://www.acmicpc.net/problem/16434 16434번: 드래곤 앤 던전 첫 번째 줄에 방의 개수 N (1 ≤ N ≤ 123,456) 과 용사의 초기 공격력 HATK (1 ≤ HATK ≤ 1,000,000) 가 주어집니다. i+1번째 줄엔 i번째 방의 정보를 나타내는 세개의 정수 ti, ai, hi (ti ∈ {1, 2}, 1 www.acmicpc.net 문제 요약 드래곤 앤 던전 문제는 용사가 N개의 모든 방을 방문하여 마지막 N번째 방 있는 공주를 구하려고 할 때 필요한 용사의 최대 생명력을 구하는 문제이다. 방은 2종류로 구성되어 있으며 1번방은 공격력이 a, 체력이 mh인 몬스터가 있고 2번 방에는 용사의 공격력을 at만큼 증가시키고 체력을 h만큼 회복하는 포션이 들..