목록문제/백준_파이썬 (155)
sm 기술 블로그
N = int(input()) num = [int(input()) for _ in range(N)] for i in range(N): for j in range(i, N): if num[i] > num[j]: tmp = num[j] num[j] = num[i] num[i] = tmp for value in num: print(value) 문제요약 뒤섞인 숫자를 오름차순으로 정렬해라 해결 정렬 중 제일 간단하게 구현 가능한 선택정렬(Select sort)을 이용하였다. 여러 정렬을 알고 싶다면 아래를 참고하자. https://smhope.tistory.com/19?category=1056187 정렬 1. 선택 정렬(Selection Sort) 현재 위치에 들어갈 값을 찾아 정렬하는 배열이다. 현재 위치에 ..
N = int(input()) cnt = 0 result = 0 i = 665 while True: if cnt == N: result = i break i += 1 if str(i).find("666") != -1: cnt += 1 print(result) 문제요약 666을 포함하는 숫자를 찾아라 해결 666을 포함하는 숫자로 예를 들면 그림과 같이 나타낼 수 있으며 N은 10000보다 작거나 같다. 그러면 숫자를 문자열로 바꾸고 666이 포함하는지 확인하고 만약 포함한다면 cnt를 1 증가 시킨다. cnt와 입력한 N이 같아지면 반복문을 종료하고 결과값을 result에 저장한다.
chessBoard = ['WBWBWBWB', 'BWBWBWBW']*4 N, M = map(int, input().split()) chess = [input() for _ in range(N)] cntRepository = [] for n in range(N-7): for m in range(M-7): cnt = 0 for i in range(8): for j in range(8): if chess[n+i][m+j] != chessBoard[i][j]: # 8*8로 만든 입력된 체스판 != 위에서 저장한 체스판 cnt += 1 cntRepository.append(cnt) # 입력된 색의 기준으로 cntRepository.append(64-cnt) # 입력된 색의 반대로 print(min(cntRepos..
N = int(input()) person = [] result = "" for i in range(N): person.append(list(map(int, input().split()))) for j in range(N): cnt = N for k in range(N): if(person[j][0] >= person[k][0] or person[j][1] >= person[k][1]): cnt -= 1 result += str(cnt+1) + " " # 자기자신도 비교하기 때문에 + 1을 해줌 (조건식을 써도 되지만 +1 하는게 더 빠름) print(result) 문제 요약 몸무게와 키가 크면 더 덩치가 크고 순위가 높다. 둘 중 하나만 크면 높다고 할 수 없다. 브루트스 파트로 전체를 다 비교하도록 ..