문제요약 나의 코드 및 설명 graph : 전체 도화지. 모든 요소를 0으로 갖는 리스트로 초기화한다. 색종이가 놓아진 부분에 1을 저장한다. 현재 인덱스와 그 다음 인덱스에 저장된 값이 다르면 둘레라고 보며, 가로와 세로를 따로 계산한다. 전체 도화지의 상하좌우 끝부분을 따로 계산한다. (for문의 범위 초과를 방지하기 위해) num = int(input()) #전체 도화지 : 0 graph = [[0] * 100 for _ in range(100)] #색종이가 놓여진 부분에 1을 저장 for _ in range(num): x, y = map(int, input().split()) for i in range(y,y+10): for j in range(x,x+10): if graph[i][j] == 0:..
문제요약 나의 코드 및 설명 num_list.append(int(input())%42) : 입력 값을 42로 나눈 나머지를 num_list 에 저장한다. num_list = [] for _ in range(10): num_list.append(int(input())%42) print(len(list(set(list(num_list)))))
문제요약 나의 코드 및 설명 입력한 문자열 string의 특정 문자를 로 바꾸고 문자열의 길이를 출력한다. replace() 메서드를 통해 바뀐 문자열을 특정 변수에 다시 저장해주어야 한다. string = str(input()) string = string.replace("c=","*") string = string.replace("c-","*") string = string.replace("dz=","*") string = string.replace("d-","*") string = string.replace("lj","*") string = string.replace("nj","*") string = string.replace("s=","*") string = string.replace("z=","..
문제요약 나의 코드 및 설명 같은 카드가 뽑히지 않게 범위를 각각 다르게 하여 for문을 작성하였다. 변수 fin에 큰 값을 저장해두고, 다음 반복 시 fin 보다 큰 값이 들어올 경우 변수 fin에 저장한다. n, m = map(int, input().split()) num_list = list(map(int, input().split())) num_list.sort() fin = 0 for i in range(len(num_list)): for j in range(i+1, len(num_list)): for k in range(j+1,len(num_list)): if num_list[i] + num_list[j] + num_list[k] > m: continue elif num_list[i] + nu..
문제요약 나의 코드 및 설명 for i in range(9): \ for j in range(i+1,9) : i를 저장하고, i의 다음 값을 j로 저장한다. (같은 값 중복 확인을 방지하기 위해) dwarfs = [] for _ in range(9): dwarfs.append(int(input())) fake_sum = sum(dwarfs) - 100 fake_dwarfs = [] for i in range(9): for j in range(i+1,9): if dwarfs[i] + dwarfs[j] == fake_sum: fake_dwarfs.append(dwarfs[i]) fake_dwarfs.append(dwarfs[j]) dwarfs.pop(dwarfs.index(fake_dwarfs[1])) dw..
문제요약 나의 코드 및 설명 count_list : 공을 받는 횟수를 저장하는 리스트를 생성했다. count : 총 공을 받는 횟수를 저장한다. i : 인덱스 count[(i+l)%n] : 공을 받은 횟수가 홀수일 경우 시계 방향으로 l번째 떨어진 사람에게 공을 던진다. 이 때 리스트의 인덱스가 초과되면 안되므로 전체 리스트 크기를 나눈 나머지 인덱스에게 공을 던진다. ex) 영식이 포함 5명이 리스트에 저장되어 있다고 가정하자. 인덱스 3의 사람이 시계방향으로 2칸 떨어진 사람에게 공을 던지게 될경우 인덱스는 5이므로 초과하게 된다. 따라서 5로 나눈 나머지인 인덱스 0의 사람에게 공을 던지게 되도록 작성하였다. count[-((l-i)%n)] : 공을 받은 횟수가 짝수일 경우 반시계 방향으로 l번째 ..
다음과 같이 두 가지 방법이 있다. ##숫자의 각 자리수를 요소로 갖는 리스트로 변환 #1 a = input() a_list = list(map(int, str(a))) print(a_list) #2 b_list = [int(b) for b in str(input())] print(b_list) 출력값은 아래와 같다.
문제요약 나의 코드 및 설명 26개의 -1을 요소로 갖는 리스트를 초기화하고, 입력받은 문자열의 알파벳이 처음 등장하는 위치를 저장하기 위해서, 상기의 리스트의 요소가 -1 일 경우(값이 변화하지 않은 최초의 상황)일 때만 저장될 수 있도록 작성하였다. ord("string") : 아스키코드로 변환 s = list(map(str, str(input()))) #baekjoon #s[0]-97 = 1 / loc[1] = i loc = [-1] * 26 for i in range(len(s)): if loc[ord(s[i])-97] == -1: loc[ord(s[i])-97] = i else: continue for j in range(len(loc)): print(loc[j],end = " ") if j =..