본문 바로가기

Algorithm475

[파이썬] 백준 9461 : 파도반 수열 (실버3) [파이썬] 백준 9461 : 파도반 수열 (실버3) 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net 문제 풀이 0.방향성 생각 1,1,1,2,2,3,4,5,7,9,12,16,21,28,37 규칙을 찾아보면 an[n]+an[n+4] = an[n+5]를 이룬다. 여러 개의 테스트 케이스가 들어오므로 먼저 DP 계산을 끝낸 후에 답을 출력한다. an = [1,1,1,2,2] for i in range(95): an.append(an[i]+an[-1]) t = int(input()) for i in range(t): n .. 2023. 6. 1.
[파이썬] 백준 1439 : 뒤집기 (실버5) [파이썬] 백준 1439 : 뒤집기 (실버5) 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 문제 풀이 0.방향성 생각 같은 숫자끼리 붙어있는 경우는 한 숫자로 봐도 무방하다 111111 -> 1 : 0회 1100 -> 10 : 1회 1111001 --> 101 : 1회 11001100 --> 1010 : 2회 100101 --> 10101 : 2회 1010100 -> 101010 : 3회 변화량을 체크하든지, 문자열을 치환해서 2로 나눈 몫을 구하든지 하면 된다. 전체 코드 1. 변화량 체크 s = inp.. 2023. 5. 31.
[파이썬] 백준 1002 : 터렛 (실버3) [파이썬] 백준 1002 : 터렛 (실버3) 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 문제 이 문제는 웰 노운이군요 ㅋㅋㅋㅋ 이전에 풀었던 두 원 문제에서 넓이 대신 교점을 구하는 문제 풀이 0. 방향성 생각 편하게 풀기 위해서 큰 원을 원점에, 다른 한 원을 x축 양수부분에 올려놓는다 t = int(input()) for i in range(t): x1,y1,r1,x2,y2,r2 = map(int,input().split()) if x1==x2 and y1==y2 : # 동심원인경우 if r1==r2 : if r1==0 and r2==0: # 반지름 0.. 2023. 5. 30.
[파이썬] 백준 4179, 5427 : 불!, 불 (골드4) [파이썬] 백준 4179, 5427 : 불!, 불 (골드4) 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문자 www.acmicpc.net 문제 # 엣지케이스 # test case 2% : 탈출구 주변에 불이 존재하는 경우 # 5 5 # #F..# # #.J.# # ###.# # ###.# # ###.# # test case 80?% : 시작하자마자 탈출할 수 있는 경우 # 3 3 # .JF # ... # ... 풀이 0. 방향성 생각 최단거리를 탐색하는 BFS 문제. 사람 탐색을 우선으로 하기, 하지만 가장자리에 도달했을.. 2023. 5. 29.