We will find a way, we always have.

-interstellar

코딩테스트 8

[백준] 2573번: 빙산 - 파이썬

🧩문제 해석 이제 이런 문제들을 딱 보면 그래프 관련 문제라는 걸 바로 알아차릴 수 있게 되었다. '빙산 한 덩이가 주어졌을 때'가 조건에 들어가있으니, 무조건 빙산은 주어진다. 그러면 이제 빙산에서 얼음의 위치와 그 얼음 주위 환경을 살피면 된다. 그리고 빙산이 쪼개졌는지 BFS를 통해 확인한다. 🔉 풀이 전 잡담 앞서 말한 문제 해석을 알고리즘으로 구현해내는데에는 성공했다. 첫번째 제출에는 런타임 에러(RecursionError)가 발생했다. 이는 재귀함수가 너무 깊이 들어갈 경우 발생한다. 이땐 당황하지 말고 sys 모듈을 불러와 sys.setrecursionlimit(n) 을 적어주면 된다. 여기서 n은 최대 깊이를 의미한다. sys.setrecursionlimit(10**4) 을 넣어줌으로써 런..

[백준] 9536번: 여우는 어떻게 울지? - 파이썬

🎶 서론 어렸을 때 유행했던 노래 왓더뽞쎄에서 영감을 얻은 문제같다ㅋㅋㅋ 오랜만에 다시 노래 들어보니 여전히 재밌고 힙한 노래다. 약간 다른의미로 천재랄까 🧩문제 해석 주어진 문자열중에서 몇개의 단어들을 제거하면 되는 단순 파싱문제였다. 📖 풀이 1. 녹음된 소리를 문자열로 받는다. 2. 다른 동물들의 울음소리를 ano_ani 라는 set에 저장한다. 3. 녹음된 소리중 ano_ani에 있으면 여우의 소리가 아니고 다른 동물의 소리란 것을 의미하니 그것을 제외하고 출력한다. 💻 코드 import sys input = sys.stdin.readline ano_ani = set() t = int(input().rstrip()) for i in range(t): record = list(map(str, inp..

[백준] 4375번: 1 - 파이썬

📎문제링크: https://www.acmicpc.net/problem/4375 4375번: 1 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. www.acmicpc.net 🧩문제 해석 2와 5로 나누어 떨어지지 않는 정수 n이 주어졌을 때 1로만 이루어진 n의 배수를 찾고 1로만 이루어진 수중 가장 작은 수의 자릿수를 출력하면 되는 문제이다. 1로만 이루어진 n의 배수라는것 예제로 예를들면 111인것이다. 111은 3의 배수이면서 1로만 이루어진 수이고 3의 배수중 1로만 이루어진 수중에서 가장 작다. 📘풀이 n을 입력받고 1, 11, 111 이렇게 하나하나씩 n으로 나누어서 나머지가 0일때 그 자리수를 출력하는..

[백준] 1789번: 수들의 합 - 파이썬

📎문제링크: https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 💼서론 요즘 열심히 그리디 알고리즘 파고 있다. 🤸‍♂️ 그리디 방법을 발견하면 뭔가 묘한 쾌감이 있다. 🧩문제 해석 서로 다른 자연수 N을 더한 값인 S가 주어졌을 때 N의 최대값을 구하는 문제! 📘풀이 1. N의 갯수를 최대로 만드려면 N은 1부터 시작해 N의 값을 +1 씩 증가하여 S를 만들면 그것이 N을 최대갯수로 만드는 것이다. 예제를 살펴보자! 200은 1+2+3+4+...+18+29 총 19개이다. 1부터 18까지는 N이 하나씩 증가하였지만 마지막 값은 1증가한 값이 아니었다. 이 마지막 ..

[백준] 1907번: 탄소 화합물

📎문제링크: https://www.acmicpc.net/problem/1907 1907번: 탄소 화합물 첫째 줄에 세 정수 X1, X2, X3 (1 이상 10 이하)를 빈 칸을 사이에 두고 순서대로 출력한다. 이는 각각 M1, M2, M3의 계수가 된다. 만일 해가 둘 이상이라면 답을 세 자연수로 이루어진 수열으로 생각해 www.acmicpc.net 💼서론 탄소화합물하니까 화학선생님이 생각난다...ㅎㅎ 화학 배웠을때도 일명 숫자맞추기 문제 여러번 풀어보고 했었는데, 프로그램 짜면서 옛추억에 잠시 잠겼었음! 🧩문제 해석 이번 문제는 전에 풀었던 비슷한 단어와 비슷한 느낌의 문제였다. 약간 구현 문제는 노가다가 들어가는 느낌이다. 원소가 주어지면, 생성물과 반응물의 원소 갯수를 맞추는 것이다. [백준] 21..

[백준] 11729번: 하노이 탑 이동 순서

📎문제링크: https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 💼서론 예전에 한번 맛보다가 잘 모르겠어서 북마크 남기고 있던 문제였는데, 스터디를 통해 책임감을 갖고 다시 풀어보기 위해 이 문제를 스터디에서 택했다 🧩문제 해석 재귀! 하면 빠질 수 없는 하노이탑 원판의 갯수가 주어졌을 때 이동횟수와 이동경로를 출력하시오 📀원판 이동 횟수 원판의 이동 횟수 구하는 것은 쉽게 유추해냈다. n개의 원판을 이동시키는 것은 n-1개의 원판을 ..

[백준] 10250번: ACM 호텔 - 파이썬

📎문제링크: https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 💼서론 solved.ac에서 CLASS2+ 을 달성하기 위해 이문제를 풀어야하였다. 브론즈 3으로 쉬울거 같은 마음에 가볍게 잡았지만 변수가 있어 생각보다 오래걸렸다. 🧩문제 해석 먼저 온 손님부터 1열부터 w열까지 순서대로 채우는것이 손님이 가장 선호하는 자리를 주는 것이다. 📘풀이 1. 열부터 하나씩 채우는 것은 즉 n-h를 반복한다는 것이다. 2. 1번 동작을 n이 ..

[백준] 1417번: 국회의원 선거 - 파이썬

📎문제링크: https://www.acmicpc.net/problem/1417 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 💼서론 예~~전에 한번 봤다가 어케 푸는지 잘 모르겠어서 패스했던 문제다. 요즘 그리디 알고리즘을 배우고 있어서 다시 한번 도전해보았다. 구글링 없이 푸니까 나 자신 스스로도 성장했다고 느꼈다. 🧩문제 해석 다솜이는 국회의원이 되고 싶고 누가 누구를 뽑을지 알고 있다. 즉 다솜이 말고 다른 후보에게 투표하는 사람을 매수하여 자신을 투표하도록 만들어야 하는데 몇명을 매수해야 ..