본문 바로가기

전체 글

(42)
[BOJ] - 기본 수학 1 - (2) - Python 2869: 달팽이는 올라가고 싶다 import sys a, b, v = map(int, input().split()) counts = 1 if (v-a) / (a-b) == (v-a) // (a-b) : counts += ((v-a) // (a-b)) print(counts) else : counts += ((v - a) // (a - b)) + 1 print(counts) 10250: ACM 호텔 T = int(input()) for _ in range(T): H, W, N = map(int, input().split()) row = 1 col = 1 for _ in range(N-1): row += 1 if row > H : row = 1 col += 1 else : continue print(row..
[BOJ] - 기본 수학 1 - (1) - Python 항상 마지막 답안이 정답입니다. 참고해주세요. 시행착오 과정을 제가 나중에 보려고 이렇게 작성했습니다. 1712: 손익분기점 # 1712: 손익분기점 ''' 1. 판매 대수 상관없이 고정비용 A 2. 가변비용 B 3. 책정된 노트북 가격 C 4. X = 노트북 대수 5. 총수입(C*X) > 총 비용(A+X*B) 6. 5번 조건이 성립할때 X 반환 7. 손익 분기점이 존재하지 않는 경우는..? CX = A + BX A < (B-C)X A / (B-C) < X 인 경우 ''' import sys A, B, C = map(int, sys.stdin.readline().split()) X = 0 # 노트북 대수 while True : if A / (B-C) < X : print(-1) break else : i..
[BOJ] - 문자열 - (2) - Python 2941: 크로아티아 알파벳 # 2941: 크로아티아 알파벳 s = str(input()) croatia_alphabet = ['dz=', 'c=', 'c-', 'd-', 'lj', 's=', 'z='] count = 0 for a in croatia_alphabet: if a in s : count += 1 s = s.replace(a, '') count+=len(s) print(count) ## 다시풀기, 'ljes=njak' 케이스가 안맞음 -> 'nj' 입력 안했음 s = str(input()) croatia_alphabet = ['dz=', 'c=', 'c-', 'd-', 'lj', 's=', 'z=', 'nj'] count = 0 for a in croatia_alphabet: if a in ..
[BOJ] - 문자열 - (1) - Python 11654: 아스키코드 # 11654: 아스키 코드 x = input() print(ord(x)) 11720: 숫자의 합 # 11720: 숫자의 합 N = int(input()) X = str(input()) sum = 0 for i in range(N): sum += int(X[i]) print(sum) 10809: 알파벳 찾기 #10809: 알파벳 찾기, .index , .find 의 차이 S = str(input()) abc = 'abcdefghijklmnopqrstuvwxyz' for i in range(len(abc)): print(S.find(abc[i]), end = ' ') 2675: 문자열 반복 # 2675: 문자열 반복 T = int(input()) result = '' for _ in..
[BOJ] - 함수 - Python 15596: 정수 N개의 합 # 15596: 정수 N개의 합 def solve(a): ans = 0 for i in a : ans += i return ans # 4673: 셀프 넘버 ## idea.1 : 집합(set)은 중복된 원소를 허용하지 않는다. ## idea.2 : 전체 수 집합에서 self number가 아닌 경우를 소거해나간다. N_set = set(range(1, 10001)) # 1부터 10,000까지 숫자 not_selfnum_set = set() for i in range(1, 10001) : for j in str(i): i += int(j) not_selfnum_set.add(i) selfnum_set = sorted(N_set - not_selfnum_set) for number..
[BOJ] - 1차원 배열 단계-(2) - Python 8958: OX 퀴즈 # 8958: OX퀴즈 import sys T = int(input()) answer = [] X_index = [0] for _ in range(T): result = list(map(str, sys.stdin.readline())) for i in range(len(result)-1): if result[i] == 'X' : X_index.append(i) print(result) print(X_index) # 다시 풀어보기 import sys T = int(input()) score = 0 for _ in range(T): result = list(map(str, sys.stdin.readline())) for i in range(len(result)-1) : if result..
[BOJ] - 1차원 배열 단계-(1) - Python 10818: 최소, 최대 # 10818: 최소, 최대 N = int(input()) numbers = list(map(int,sys.stdin.readline().split())) print(min(numbers), max(numbers)) 특별히 설명할게 없어서 그냥 넘어갈께요. 2562: 최댓값 # 2562: 최댓값 numbers = [] for _ in range(9): N = int(input()) numbers.append(N) print(max(numbers)) print(numbers.index(max(numbers))+1) ## 다른 풀이 a = [int(input()) for _ in range(9)] print(max(a)) print(a.index(max(a))+1 저는 보통 위 답을..
[BOJ] - while문 - Python while문은 for문과 다르게 범위가 따로 주어지지 않기 때문에 무한루프가 다르다는 점을 갖고 있습니다. 오늘 제가 배운 내용은, - while문의 기본 - 무한루프 탈출의 break - EOF error 해결을 위한 try except 문 가 주요 내용입니다. 10952: A+B - 5 # 10952: A+B - 5 ## 첫 풀이, 0을 출력하게 코드를 짜서 틀림. import sys while True : A, B = map(int, sys.stdin.readline().split()) print(A + B) if A == 0 and B == 0 : break ## 0을 출력해서 틀렸던거임. import sys while True : A, B = map(int, sys.stdin.readline()..