no image
[백준 17144번] 파이썬 - 미세먼지 안녕!
백준 17144_미세먼지 안녕! # 조건 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 미세먼지의 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 공기청정기는 항상 1번 열에 설치되어 있고, 크기는 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼지가 있고, (r, c)에 있는 미세먼지의 양은 Ar,c이다. 1초 동안 아래 적힌 일이 순서대로 일어난다. 미세먼지가 확산된다. 확산은 미세먼지가 있는 모든 칸에서 동시에 일어난다. (r, c)에 있는 미세먼지는..
2023.09.03
[백준 9613번] 파이썬 - GCD 합
백준 9613 - GCD 합 시간 제한 1초, 메모리 제한 128MB # 조건 양의 정수 n개가 주어졌을 때, 가능한 모든 쌍의 GCD의 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 각 테스트 케이스는 수의 개수 n (1 < n ≤ 100)가 주어지고, 다음에는 n개의 수가 주어진다. 입력으로 주어지는 수는 1,000,000을 넘지 않는다. 출력 각 테스트 케이스마다 가능한 모든 쌍의 GCD의 합을 출력한다. # 접근 방법 및 배운 점 문제를 잘 읽어야 된다... 각 테스트 케이스의 시작이 수의 개수라는 것을 놓쳐서 쉬운 문젠데 20분을 넘게 고민했다 파이썬의 경우 math 라이브러리의 gc..
2023.09.03
[백준 16195번] 파이썬 - 1,2,3 만들기 9
백준 16195 1,2,3 더하기 9 시간 제한 1초, 메모리 제한 512MB # 조건 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n과 m이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 단, 사용한 수의 개수는 m개 이하 이어야 한다. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n과 m이 주어진다. n은 양수이며 1,000보다 작거나 같다. m도 양수이며, n보다 작거나 같다. 출력 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법..
2023.09.02
[백준 18258번] 파이썬 - 큐 2
백준 18258 - 큐2 시간 제한 1초, 메모리 제한 512MB # 조건 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 주..
2023.09.02
[백준 21939번] 파이썬 - 문제 추천 시스템 Version 1
백준 21939 - 문제 추천 시스템 Version 1 시간 제한 1초, 메모리 제한 512MB # 조건 Tony9402는 최근 깃헙에 코딩테스트 대비 문제를 직접 뽑아서 "문제 번호, 난이도"로 정리해놨다. 깃헙을 이용하여 공부하시는 분들을 위해 새로운 기능을 추가해보려고 한다. 만들려고 하는 명령어는 총 3가지가 있다. 아래 표는 각 명령어에 대한 설명이다. recommend x x가 1인 경우 추천 문제 리스트에서 가장 어려운 문제의 번호를 출력한다. 만약 가장 어려운 문제가 여러 개라면 문제 번호가 큰 것으로 출력한다. x가 -1인 경우 추천 문제 리스트에서 가장 쉬운 문제의 번호를 출력한다. 만약 가장 쉬운 문제가 여러 개라면 문제 번호가 작은 것으로 출력한다. add P L 추천 문제 리스트에..
2023.09.02
[백준 17123번] 파이썬 - 배열 놀이
백준 17123 - 배열 놀이 시간 제한 2초, 메모리 제한 512MB # 조건 N개의 행과 N개의 열로 구성된 2차원 정수 배열 A가 있다. A[r, c]는 r번째 행 c번째 열에 위치한 원소의 값을 나타낸다. 이 배열에 총 M번의 연산을 적용하는 배열 놀이를 생각해보자. 각 연산에 대해 1
2023.09.01
no image
[백준 16988번] 파이썬 - Baaaaaaaaaduk2(Easy)
백준 16988 - Baaaaaaaaaduk2 (Easy) 시간 제한 2초, 메모리 제한 512MB # 조건 그렇게 모두가 낙담하던 중 누군가가 역사책을 뒤져 인간이 AI에게 승산이 있는 종목을 찾아냈다. 바로 정확히 100년 전에 있었던 이세돌과 알파고의 바둑 대결이었다. 물론 알파고는 그 이후로 발전을 거듭했기에 바둑에서의 승산은 없지만 바둑의 룰을 변형한 Baduk2라는 종목에서는 이세돌이 알파고에게 한 세트를 이긴 것과 같이 인간이 AI에게 승산이 있다고 판단했다. Baduk2의 룰은 바둑과 거의 유사하지만 양 선수가 돌을 1개씩 번갈아 두는 것이 아니라 2개씩 둔다는 점이 다르다. 서술의 편의를 위해 상하좌우로 인접한 같은 색 돌의 집합을 그룹이라고 하자. 아래의 판에서는 흑의 그룹과 백의 그룹..
2023.08.31
[백준 18222번] 파이썬 - 투에-모스 문자열
백준 18222 - 투에-모스 문자열 시간 제한 1초, 메모리 제한 256MB # 조건 0과 1로 이루어진 길이가 무한한 문자열 X가 있다. 이 문자열은 다음과 같은 과정으로 만들어진다. X는 맨 처음에 "0"으로 시작한다. X에서 0을 1로, 1을 0으로 뒤바꾼 문자열 _X&#39;_을 만든다. X의 뒤에 _X&#39;_를 붙인 문자열을 X로 다시 정의한다. 2~3의 과정을 무한히 반복한다. 즉, X는 처음에 "0"으로 시작하여 "01"이 되고, "0110"이 되고, "01101001"이 되고, ⋯ 의 과정을 거쳐 다음과 같이 나타내어진다. "011010011001011010010110011010011001011001101001⋯⋯" 자연수 k가 주어졌을 때 X의 k번째에는 무슨 문자가 오는지 구하여라..
2023.08.31
[백준 12871번] 파이썬 - 무한 문자열
백준 12871 - 무한 문자열 시간 제한 2초, 메모리 제한 512MB # 조건 문자열 s가 있을 때, f(s)는 s를 무한번 붙인 문자열로 정의한다. 예를 들어, s = "abc" 인 경우에 f(s) = "abcabcabcabc..."가 된다. 다른 문자열 s와 t가 있을 때, f(s)와 f(t)가 같은 문자열인 경우가 있다. 예를 들어서, s = "abc", t = "abcabc"인 경우에 f(s)와 f(t)는 같은 문자열을 만든다. s와 t가 주어졌을 때, f(s)와 f(t)가 같은 문자열을 만드는지 아닌지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 s, 둘째 줄에 t가 주어진다. 두 문자열 s와 t의 길이는 50보다 작거나 같은 자연수이고, 알파벳 소문자로만 이루어져 있다. 출력 첫째 줄에 ..
2023.08.31