본문 바로가기

python

(47)
[Python] 파이썬 숫자 각자리수를 리스트로 변환 list(map(int, str(s))) s = 1234567 n = list(map(int,str(s))) print(n) # [1,2,3,4,5,6,7]
[백준/파이썬] 1712번: 손익분기점 (Python) 문제 www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 풀이 - 수학 - 반복문으로 풀면 시간초과가 뜬다. 코드 a,b,c = map(int,input().split()) if c - b
[백준/파이썬] 10829번: 이진수 변환 (Python) 문제 www.acmicpc.net/problem/10829 10829번: 이진수 변환 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000) www.acmicpc.net 풀이 - 재귀 코드 n = int(input()) arr = [] def recur(n): if n == 1: arr.append(1) elif n // 2 == 1: arr.append(n%2) arr.append(1) else: arr.append(n%2) recur(n//2) recur(n) for _ in range(len(arr)): print(arr.pop(), end='')
[백준/파이썬] 2108번: 통계학 (Python) 문제 www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 풀이 - 구현 - 최빈값의 경우 딕셔너리를 이용해 각 숫자를 key값에, 해당 숫자의 빈도수를 value값에 담았다 value값이 가장 큰 값의 key들을 배열에 담아 풀었다. - 시간초과는 sys.stdin.readline()을 통해 해결했다 코드 import sys n = int(input()) arr = [] diction = {} for _ in range(n): i = int(sys.stdin.readline(..
[백준/파이썬] 10773번: 제로 문제 www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 풀이 - 구현 - 리스트의 append()와 pop()이용 [1] append [1,3] append [1,3,5] append [1,3,5,4] append [1,3,5] (0을 불렀기 때문에 최근의 수를 지운다) pop [1,3] (0을 불렀기 때문에 그 다음 최근의 수를 지운다) pop [1,3,7] append [1,3] (0을 불렀기 때문에 최근의 수를 지운다) ..
[Python] 문자열 합치기 나누기 - join/split 문자열 나누기 구분자를 기준으로 문자열을 잘라 리스트 형식으로 반환한다. 파라미터에 아무값도 주지 않으면 공백을 기준으로 문자열을 자른다. 문자열.split(구분자) ** 공백을 기준으로 문자열 나누기 str = "apple banana orange grape" print(str.split()) >> ['apple', 'banana', 'orange', 'grape'] ** 구분자('-')를 기준으로 문자열 나누기 str = "apple-banana-orange-grape" print(str.split('-')) >> ['apple', 'banana', 'orange', 'grape'] 문자열 합치기 join함수는 리스트의 문자열을 합친다. ''.join(리스트) arr = ['a', 'b', 'c', ..
[백준/파이썬] 1476번: 날짜 계산 (Python) 문제 www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net 풀이 - 구현 - 나머지연산을 이용해서 풀 수 있는 문제이다 코드 e, s, m = map(int, input().split()) cnt = 0 a, b, c = 0, 0, 0 while True: if e == a and s == b and c == m: break a += 1 b += 1 c += 1 cnt += 1 if a > 15: a %= 15 if b > 28: b %= 28 if c > 19: c ..
[백준/파이썬] 1475번: 방 번호 (Python) 문제 www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 풀이 - 구현 - 0부터 9까지 인덱스를 가지는 리스트를 만들고 방 번호의 숫자의 개수를 넣어준다 - 반복문을 통해 한 세트일 때마다 리스트의 값을 1씩 감소시켜주고 - 6 과 9는 arr[6]에 몰아서 담아주고, arr[6]은 홀수 이면 2세트 이상이기 때문에 2로 나누어 떨어질 경우에 2감소, 2로 나누어 떨어지지 않을 경우 1감소시켜준다 - 한 세트를 돌면 cnt를 증가시켜준다 코드 n = list(map(int, input())) # 9999 arr = [0 for _ in range(1..