Baekjoon

Baekjoon/IM Level

[백준] 2567 색종이2 (실버4)

문제요약 나의 코드 및 설명 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:..

Baekjoon/IM Level

[백준] 3052 나머지 (브론즈2)

문제요약 나의 코드 및 설명 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)))))

Baekjoon/IM Level

[백준] 2941 크로아티아 알파벳 (실버5) / replace()

문제요약 나의 코드 및 설명 입력한 문자열 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=","..

Baekjoon/IM Level

[백준] 2798 블랙잭 (브론즈2)

문제요약 나의 코드 및 설명 같은 카드가 뽑히지 않게 범위를 각각 다르게 하여 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..

Baekjoon/IM Level

[백준] 2309 일곱 난쟁이 (브론즈1) / pop(), remove(), clear(), del 정리

문제요약 나의 코드 및 설명 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..

Baekjoon/IM Level

[백준] 1592 영식이와 친구들 (브론즈2)

문제요약 나의 코드 및 설명 count_list : 공을 받는 횟수를 저장하는 리스트를 생성했다. count : 총 공을 받는 횟수를 저장한다. i : 인덱스 count[(i+l)%n] : 공을 받은 횟수가 홀수일 경우 시계 방향으로 l번째 떨어진 사람에게 공을 던진다. 이 때 리스트의 인덱스가 초과되면 안되므로 전체 리스트 크기를 나눈 나머지 인덱스에게 공을 던진다. ex) 영식이 포함 5명이 리스트에 저장되어 있다고 가정하자. 인덱스 3의 사람이 시계방향으로 2칸 떨어진 사람에게 공을 던지게 될경우 인덱스는 5이므로 초과하게 된다. 따라서 5로 나눈 나머지인 인덱스 0의 사람에게 공을 던지게 되도록 작성하였다. count[-((l-i)%n)] : 공을 받은 횟수가 짝수일 경우 반시계 방향으로 l번째 ..

Baekjoon/IM Level

[백준] 숫자의 각 자릿수를 요소로 갖는 리스트로 변환

다음과 같이 두 가지 방법이 있다. ##숫자의 각 자리수를 요소로 갖는 리스트로 변환 #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) 출력값은 아래와 같다.

Baekjoon/IM Level

[백준] 10809 알파벳 찾기 (브론즈5) / 아스키코드, ord("string")

문제요약 나의 코드 및 설명 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 =..