Baekjoon

BOJ

[백준/BOJ] python 7568번 덩치

언어: python 번호: 7568 제목: 덩치 등급: 실버 5 ​ 풀이 과정: 전체 사람의 수 n을 입력받고, n명의 등수를 나타내는 리스트인 result를 만든다. 각 사람의 몸무게와 키를 입력받아 2차원 리스트로 만든다. 덩치가 클수록 등수가 높으니, 덩치가 작을수록 등수의 숫자가 커진다. 따라서 2중 for문으로 비교해 덩치가 더 작을때 등수에 1을 더한다. 가장 큰 사람은 등수가 0이 되는데, 1등부터 등수를 매겨야하니 각 등수에 1씩 더한다. ​ ​ 코드: # 7568 l = [] result = [] n = int(input()) for i in range(n): result.append(0) for i in range(n): x, y = map(int, input().split()) l.a..

BOJ

[백준/BOJ] python 2798번 블랙잭

언어: python 번호: 2798 제목: 블랙잭 등급: 브론즈 2 ​ ​ 풀이 과정: 카드의 개수 n과 정수 m을 입력받는다. n장의 카드를 입력받으면서 리스트로 만든다. 3중 for문으로 돌면서 각 카드가 다른 경우에만 합을 구한다. 합이 max보다 크고, m보다 작으면 max에 할당한다. 이를 반복해 최댓값을 찾는다. ​ ​ 코드: # 2798 n, m = map(int, input().split()) num_list = list(map(int, input().split())) max = 0 num_sum = 0 for i in num_list: for j in num_list: for k in num_list: if i!=j and j!=k and i!=k: num_sum = i+j+k if ma..

BOJ

[백준/BOJ] python 2839번 설탕 배달

언어: python 번호: 2839 제목: 설탕 배달 등급: 실버 4 ​ ​ 풀이 과정: 설탕의 무게 n을 입력 받아 0이 될때까지 while문을 돌린다. 상근이는 최대한 적은 봉지를 들고 가려고 하기 때문에 가능한 5kg 봉지를 가져가야 한다. n이 3과 5로 나누어지는 수라고 할때, 3을 먼저 빼고 나머지를 5로 나눈다고 생각하면 된다. while문을 돌때마다 5로 나누어지는지 확인하고, 나눠지지 않으면 3을 뺀다. 3과 5로 나누어지지 않는 수에 3을 빼다보면 0보다 작은 수가 나오고, 이 때는 -1을 출력한다. ​ ​ 코드: # 2839 , n = int(input()) count = 0 while n >= 0: if n%5==0: count += int(n/5) print(count) break..

BOJ

[백준/BOJ] python 2292번 벌집

언어: python 번호: 2292 제목: 벌집 등급: 브론즈 2 ​ ​ 풀이 과정: 벌집 그림을 보면서 정 가운데 1을 중심으로 주변 한 바퀴씩 숫자를 셌다. 1 > 1칸 2~7 > 6칸 8~ 19 > 12칸 20~ 37 > 18칸 38 ~ 61 > 24칸 으로 한바퀴를 돌때마다 한 줄이 6칸씩 늘어나는 것을 알 수 있다. 입력 받은 수 n이 해당 줄에서 가장 큰 수 k보다 커질때까지 한 바퀴씩 돌면서 지나는 방의 수i를 1씩 더한다. 6*0 = 0이어서 k는 0이 아닌 1부터 시작했다. 코드: # 2292 n = int(input()) i = 1 k = 1 while n > k: k += 6*i i += 1 print(i)

BOJ

[백준/BOJ] python 1712번 손익분기점

언어: python 번호: 1712 제목: 손익분기점 등급: 브론즈 2 ​ ​ 풀이 과정: 이익이 생기려면 물건을 팔 때마다 수입이 지출보다 커야 한다. 같거나 작으면 이익이 발생하지 않는다. 따라서 가변 비용 b가 물건 가격 c보다 크거나 같으면 손익분기점이 존재하지 않아 -1을 출력한다. 손익분기점이 존재할 경우에는 (총비용/물건을 팔 때마다 생기는 이익) 초과부터 손익분기점이다. 물건의 개수는 정수이니 int(a/(c-b)+1))을 출력한다. ​ ​ 코드: # 1712 a, b, c = map(int, input().split()) if b >= c: print(-1) else: print(int(a/(c-b)+1)) 메모: 맨 처음에는 while 문으로 문제를 풀려 했는데 -1을 출력하는 부분이 ..

BOJ

[백준/BOJ] python 5622번 다이얼

언어: python 번호: 5622 제목: 다이얼 등급: 브론즈 2 ​ ​ 풀이 과정: 전화기의 다이얼 모양에 따라 같은 알파벳끼리 묶어 리스트를 만든다. 입력받은 단어의 각 알파벳이 리스트 안에 몇번째로 있는지 위치를 구해 더한다. 리스트는 0번째부터 시작하는데, 예를 들어 A는 다이얼의 2번으로 3초가 걸리니 3을 더해 계산한다. ​ ​ 코드: # 5622 s = input() a = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ'] result = 0 for i in s: for j in a: if i in j: result += a.index(j) + 3 print(result) 메모: list.index('찾고자하는 요소', 시작점, 종료점..

BOJ

[백준/BOJ] python 10818번 최소, 최대

언어: python 번호: 10818 제목: 최소, 최대 등급: 브론즈 3 ​ ​ 풀이 과정: 숫자의 개수를 입력받는다. n 개의 정수들을 입력받으면서 바로 리스트로 만든다. min(), max() 함수를 이용해 최솟값과 최댓값을 공백을 두고 출력한다. ​ ​ 코드: # 10818 n = int(input()) num_list = list(map(int, input().split())) print(min(num_list), max(num_list))

BOJ

[백준/BOJ] python 2562번 최댓값

언어: python 번호: 2562 제목: 최댓값 등급: 브론즈 3 ​ ​ 풀이 과정: 숫자 9개를 입력받아 리스트에 추가한다. for 문을 돌면서 더 큰 수가 나오면, 그 수와 숫자의 위치를 기억한다. 마지막에 가장 큰 수와 그 수의 위치(0부터 시작하니 1을 더한다)를 출력한다. ​ ​ 코드: # 2562 num_list = [] for i in range(9): a = int(input()) num_list.append(a) count = 0 max_num = 0 for i in range(len(num_list)): if max_num < num_list[i]: max_num = num_list[i] count = i print(max_num) print(count+1)

kyj0015
'Baekjoon' 태그의 글 목록 (3 Page)