#문제링크 https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net #나의풀이 import sys if __name__ == '__main__': count, times = map(int, sys.stdin.readline().split()) number = list(map(int, sys.stdin.readline().split())) number.insert(0,0) for i in range(1, count+1): numbe..
#문제링크 https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net #나의풀이 import sys if __name__ == '__main__': T = int(sys.stdin.readline()) dp = [0] * 101 dp[1] = 1 dp[2] = 1 for i in range(3, 101): dp[i] = dp[i-3] + dp[i-2] for _ in range(T): n = int(sys.stdin.readline()) print(dp[n])..
#문제링크 https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net #나의풀이 import sys if __name__ == '__main__': T = int(sys.stdin.readline()) for _ in range(T): n = int(sys.stdin.readline()) clothes = dict() result = 1 for _ in range..
#문제링크 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net #나의풀이 import sys if __name__ == '__main__': T = int(sys.stdin.readline()) dp = [0] * 12 dp[1] = 1 dp[2] = 2 dp[3] = 4 for i in range(4, 12): dp[i] = dp[i-3] + dp[i-2] + dp[i-1] for _ in range(T): number = int(sys.stdin.readline()) print(dp[number]) #해설 계단오르기와 비슷한 전형적인 DP문제..
#문제링크 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net #나의풀이 import sys sys.setrecursionlimit(10**6) def DFS(x): ch[x] = 1 for i in range(1, N+1): if board[x][i] == 1 and ch[i] == 0: DFS(i) board[x][i] = 0 return True if __name__ == '__main__': N = int(sys.stdin.readline()) ..
#문제링크 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net #나의풀이 import sys if __name__ == '__main__': T = int(sys.stdin.readline()) stair = [0] dp = [0] * (T+1) for _ in range(T): stair.append(int(sys.stdin.readline().rstrip())) if T == 1: print(stair[1]) elif T == 2: print(stair[1..