백준

알고리즘

1755-백준-숫자놀이

1. 문제 출처 https://www.acmicpc.net/problem/1755 1755번: 숫자놀이 79를 영어로 읽되 숫자 단위로 하나씩 읽는다면 "seven nine"이 된다. 80은 마찬가지로 "eight zero"라고 읽는다. 79는 80보다 작지만, 영어로 숫자 하나씩 읽는다면 "eight zero"가 "seven nine"보다 사전순으로 www.acmicpc.net 2. 풀이 단순 구현 문제이다. # 입력 m,n = map(int,input().split()) # 숫자와 문자열 num_name = ["zero","one","two","three","four","five","six","seven","eight","nine"] # 정수 리스트 int_list = [list(str(idx)) f..

알고리즘

5555-백준-반지

1. 문제 출처 https://www.acmicpc.net/problem/5555 5555번: 반지 당신은 N개의 반지를 가지고 있다. 각각의 반지는 대문자 10 문자로 이루어진 문자열이 새겨져 있다. 반지는 문자열의 시작과 끝이 연결된 형태로 문자가 새겨져 있다. 반지에 각인된 문자열을 www.acmicpc.net 2. 풀이 # 입력 ring_str = input() n = int(input()) rings =[] for _ in range(n): rings.append(input()) count = 0 # 똑같은 문자열 2개을 이어 붙이고 해당 문자열에 원하는 문자열이 있으면 # count+=1을 헤준다. for ring in rings: if (ring*2).find(ring_str) != -1: ..

알고리즘

9324-백준-진짜 메세지

1. 문제 출처 https://www.acmicpc.net/problem/9324 9324번: 진짜 메시지 스파이들은 사령부와 통신하기 위해서 SMTP(비밀 메시지 전송 프로토콜)를 사용해 비밀 회선으로 전자 메시지를 보낸다. 메시지가 적들에 의해 조작되어 보내진 것이 아닌 진짜 메시지라는 것 www.acmicpc.net 2. 풀이 단순 구현 문제이다. # 테스트 케이스 받기 num = int(input()) # 각 메세지 판단 함수 def solution(msg): # 메세지 문자 딕셔너리 msg_char_list = {} # 3번 째 나온 단어 is_third = 0 # 성공 여부 flag = True for char in msg: # 만약 is_third 가 0이 아니면 if is_third: # ..

알고리즘

2002-백준-추월

1. 문제 출처 https://www.acmicpc.net/problem/2002 2002번: 추월 입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이 www.acmicpc.net 2. 풀이 #입력 n = int(input()) in_list = [] out_list = [] # 들어온 순서 for _ in range(n): in_list.append(input()) # 나간 순서 for _ in range(n): out_list.append(input()) # 유죄 차량 guilty_list =[] # 들어온 차량 리스트 인덱스 right ..

알고리즘/너비 우선 탐색(bfs)

2593-백준-영역 구하기

1. 문제 출처 https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 2. 풀이 간단한 bfs문제이다. from collections import deque # 입력 m,n,k = map(int,input().split()) # 상하좌우 이동 dx = [0,0,-1,1] dy = [-1,1,0,0] # 방문 리스트 visted = [[0]*m for _ in range(n)] # 너비 리스트 area_list = [] # 직사각형..

알고리즘/너비 우선 탐색(bfs)

1012-백준-유기농 배추

1. 문제 출처 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 2. 풀이 기초적인 BFS문제 이지만 , 가로 세로가 리스트에서는 [세로][가로]로 되어있어 헷갈렸었다... 조심하자. from collections import deque # 테스트 케이스 개수 t = int(input()) # 이동 경로(상하좌우) dx = [0,0,-1,1] dy = [-1,1,0,0] for _ in range(t): # 팔요 벌레 개수 worm = 0 # 가로,세로,배..

알고리즘

5525-백준-IOIOI

1. 문제 출처 https://www.acmicpc.net/problem/5525 5525번: IOIOI N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O가 N개) I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 www.acmicpc.net 2. 풀이 그냥 문제대로 구현해 본다. # 입력 n = int(input()) length = int(input()) S = input() p = "IO"*n+"I" idx = 0 count = 0 # I일 때 p와 비교해서 똑같으면 count+=1 while idx < length: if S[idx] == "I"..

알고리즘

9322-백준-철벽 보안 알고리즘

1. 문제 출처 https://www.acmicpc.net/problem/9322 9322번: 철벽 보안 알고리즘 소희는 공개키와 개인키 한 쌍으로 보안을 유지하는 것이 매우 불편하다고 생각했다. 그래서 소희는 공개키만을 이용하는 암호화 체계를 개발했다. 이를 "철벽 보안 알고리즘"이라고 부르기로 www.acmicpc.net 2. 풀이 단순 구현 문제이다. # 테스트 케이스 수 n = int(input()) # 테스트 케이스 만큼 반복 for _ in range(n): # 입력 num = int(input()) public1 = input().split() public2 = input().split() encode = input().split() # 바뀌는 순서 리스트 decode_list = [] fo..

easysheep
'백준' 태그의 글 목록 (4 Page)