728x90
반응형

2024/03/28 3

[Baekjoon 1110 / python / 브론즈1] 더하기 사이클

n = input() if len(n) == 1: # n이 한자릿수 라면 앞에 0을 붙인다 n = '0' + n cnt = 0 # 횟수를 세는 변수 num = n while True: num = num[1] + str(int(num[0]) + int(num[1]))[-1] # 새로운 수 제작 cnt += 1 # 제작할 때마다 카운트 + 1 if num == n: # n과 같아지면 break break print(cnt) n으로 새로운 수를 제작하여, 몇 번 새로운 수를 만들어야 다시 n으로 돌아오는지 출력하는 문제이다. n은 1~99 의 범위에서 주어진다. 예를 들어 26이 주어졌다면, 26의 오른쪽 자리인 "6", 그리고 각 자리를 합한 수의 오른쪽 자리인 2+6="8" 두개를 더하여 "68"을 만들어..

Algorithm/문자열 2024.03.28

[Baekjoon 1992 / python / 실버1] 쿼드트리

n = int(input()) # 변의 길이 board = [list(map(int, input().rstrip())) for _ in range(n)] # rstrip() 하면 개행문자 제거해서 한번에 입력할 수 있게 해준다 def quadTree(x, y, n): # x, y좌표와 변 길이를 입력받는다, 첫 호출은 0,0을 입력 color = board[x][y] for i in range(x, x+n): for j in range(y, y+n): # 현재 사각형의 모든 칸을 검사한다 if color != board[i][j]: # 색깔이 다른 칸이 하나라도 있다면 4등분 재귀호출 한다 print('(', end='') # 출력 양식에 맞게 괄호 입력 quadTree(x, y, n//2) # 출력 양..

[Baekjoon 1182 / python / 실버2] 부분수열의 합

n, s = map(int, input().split()) # 숫자의 개수, 목표 숫자 numList = list(map(int, input().split())) # 숫자 리스트 number = [] # 계산에 사용할 리스트 cnt = 0 # 경우의 수 저장할 변수 def back(start): # 시작 인덱스 입력받기 global cnt if sum(number) == s and len(number) > 0: # 합이 s와 같고, 원소가 1개 이상일 때 ( 공집합 제외 해야 하니까 ) cnt += 1 # 찾았으니 경우의 수 + 1 for i in range(start, len(numList)): # 입력받은 인덱스부터, numList의 끝까지 진행한다 number.append(numList[i]) # ..

728x90
반응형