baekjoon 383

[baekjoon] 백준 2578번(파이썬): 빙고

문제 2578번: 빙고 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 www.acmicpc.net 알고리즘 - 반복문을 통해 사회자가 외친 빙고 번호를 0으로 초기화 - 가로, 세로, 대각선이 빙고인지 확인 후 빙고이면 카운트 - 카운트한 빙고가 3개 이상이라면 빙고를 부른 횟수를 출력 후 시스템 종료 코드 import sys def solve(target, graph): for i in range(5): for j in range(5): if target == graph[i][j]: graph[i][j] = 0 return def check(graph): cnt =..

CodingTest/Baekjoon 2022.09.01

[baekjoon] 백준 20291번(코틀린): 파일 정리

문제 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net 알고리즘 - 반복문을 통해 파일명을 입력받고 '.'을 기준으로 확장자명을 변수에 넣는다. - 딕셔너리를 통해 확장자명에 개수를 카운트한다. - 확장자명을 기준으로 정렬 후 확장자명과 개수를 출력한다. 코드 package beakjoon.implementation import java.io.BufferedReader import java.io.InputStreamReader import java.util.* fun main() { val br = BufferedRea..

CodingTest/Baekjoon 2022.08.28

[baekjoon] 백준 20291번(파이썬): 파일 정리

문제 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net 알고리즘 - 반복문을 통해 파일명을 입력받고 '.'을 기준으로 확장자명을 변수에 넣는다. - 딕셔너리를 통해 확장자명에 개수를 카운트한다. - 확장자명을 기준으로 정렬 후 확장자명과 개수를 출력한다. 코드 import sys n = int(sys.stdin.readline()) dic = {} for _ in range(n): pile = str(sys.stdin.readline()).split(".") path = pile[1].rstrip("\n") if pat..

CodingTest/Baekjoon 2022.08.28

[baekjoon] 백준 12933번(코틀린): 오리

문제 12933번: 오리 첫째 줄에 영선이가 녹음한 소리가 주어진다. 소리의 길이는 5보다 크거나 같고, 2500보다 작거나 같은 자연수이고, 'q','u','a','c','k'로만 이루어져 있다. www.acmicpc.net 알고리즘 - 반복문을 통해 오리의 울음소리를 확인한다. - 확인은 그 울음의 탐색 유무에 따라 진행한다. - 울음소리가 quack이고 탐색하지 않았다면 카운트한다. 코드 package beakjoon.implementation import java.io.BufferedReader import java.io.InputStreamReader fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val duck = br..

CodingTest/Baekjoon 2022.08.27

[baekjoon] 백준 12933번(파이썬): 오리

문제 12933번: 오리 첫째 줄에 영선이가 녹음한 소리가 주어진다. 소리의 길이는 5보다 크거나 같고, 2500보다 작거나 같은 자연수이고, 'q','u','a','c','k'로만 이루어져 있다. www.acmicpc.net 알고리즘 - 반복문을 통해 오리의 울음소리를 확인한다. - 확인은 그 울음의 탐색 유무에 따라 진행한다. - 울음소리가 quack이고 탐색하지 않았다면 카운트한다. 코드 import sys def solve(start): global cnt quack = 'quack' j = 0 first = True # 반복문을 통해 탐색 시작 지점부터 울음소리의 끝 지점까지 울음소리 확인 for i in range(start, len(duck)): # 울음 소리가 quack이고 탐색하지 않았다..

CodingTest/Baekjoon 2022.08.25

[baekjoon] 백준 1913번(코틀린): 달팽이

문제 1913번: 달팽이 N개의 줄에 걸쳐 표를 출력한다. 각 줄에 N개의 자연수를 한 칸씩 띄어서 출력하면 되며, 자릿수를 맞출 필요가 없다. N+1번째 줄에는 입력받은 자연수의 좌표를 나타내는 두 정수를 한 칸 띄어서 www.acmicpc.net 알고리즘 - 반복문을 통해 달팽이를 움직인다. - 우/하/좌/상을 현재 길이 만큼 움직인다. - 움직인 후 달팽이의 위치를 왼쪽 모서리로 움직여준다. 코드 package beakjoon.implementation import java.io.BufferedReader import java.io.InputStreamReader import java.nio.Buffer fun main(){ val br = BufferedReader(InputStreamReader..

CodingTest/Baekjoon 2022.08.21

[baekjoon] 백준 1913번(파이썬): 달팽이

문제 1913번: 달팽이 N개의 줄에 걸쳐 표를 출력한다. 각 줄에 N개의 자연수를 한 칸씩 띄어서 출력하면 되며, 자릿수를 맞출 필요가 없다. N+1번째 줄에는 입력받은 자연수의 좌표를 나타내는 두 정수를 한 칸 띄어서 www.acmicpc.net 알고리즘 - 반복문을 통해 달팽이를 움직인다. - 우/하/좌/상을 현재 길이 만큼 움직인다. - 움직인 후 달팽이의 위치를 왼쪽 모서리로 움직여준다. 코드 import sys n = int(sys.stdin.readline()) m = int(sys.stdin.readline()) graph = [[0 for _ in range(n)] for _ in range(n)] # 우/하/좌/상 dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] x ..

CodingTest/Baekjoon 2022.08.20

[baekjoon] 백준 20006번(코틀린): 랭킹전 대기열

문제 20006번: 랭킹전 대기열 모든 생성된 방에 대해서 게임의 시작 유무와 방에 들어있는 플레이어들의 레벨과 아이디를 출력한다. 시작 유무와 플레이어의 정보들은 줄 바꿈으로 구분되며 레벨과 아이디는 한 줄에서 공백 www.acmicpc.net 알고리즘 - 반복문을 통해 플레이어를 입력받아 방에 넣어준다. - 각 방을 돌면서 조건에 합당하면 넣어준다. - 못 들어간 플레이어가 있다면 새로운 방을 만들어 넣어준다. - 이름 기준으로 정렬 후 출력한다. 코드 package beakjoon.implementation import java.io.BufferedReader import java.io.InputStreamReader import java.util.* import kotlin.math.abs fun..

CodingTest/Baekjoon 2022.08.19

[baekjoon] 백준 20006번(파이썬): 랭킹전 대기열

문제 20006번: 랭킹전 대기열 모든 생성된 방에 대해서 게임의 시작 유무와 방에 들어있는 플레이어들의 레벨과 아이디를 출력한다. 시작 유무와 플레이어의 정보들은 줄 바꿈으로 구분되며 레벨과 아이디는 한 줄에서 공백 www.acmicpc.net 알고리즘 - 반복문을 통해 플레이어를 입력받아 방에 넣어준다. - 각 방을 돌면서 조건에 합당하면 넣어준다. - 못 들어간 플레이어가 있다면 새로운 방을 만들어 넣어준다. - 이름 기준으로 정렬 후 출력한다. 코드 import sys p, m = map(int, sys.stdin.readline().split()) rooms = [] # 각각의 플레이어를 입력 받아 방에 넣어주기 for _ in range(p): l, n = input().split() # 최초..

CodingTest/Baekjoon 2022.08.19

[baekjoon] 백준 1337번(코틀린): 올바른 배열

문제 1337번: 올바른 배열 첫째 줄에 배열의 크기 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 배열의 원소가 한 줄에 하나씩 주어진다. 원소는 1,000,000,000보다 작거나 같은 음이 아닌 정수이 www.acmicpc.net 알고리즘 - 반복문을 통해 배열을 확인한다. - 배열의 각 수에서 시작되는 연속적인 수가 배열에 있는지 확인한다. - 연속적이지 않은 수가 있다면 카운트 후 answer에 추가한다. - answer에 제일 작은 값을 출력한다. 코드 package beakjoon.implementation import java.io.BufferedReader import java.io.InputStreamReader fun main() { val br = ..

CodingTest/Baekjoon 2022.08.16