파이썬

Programming/Coding Problem

BOJ 1712번 : 손익분기점

안녕하세요. 지난 포스팅의 BOJ 1316번 : 그룹 단어 체커에서는 이중조건문을 이용해서 문자열과 관련된 문제를 풀어보았습니다. 오늘은 주제를 바꾸어서 수학적인 문제를 구현해보는 시간을 가져보도록 하죠. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 math 라이브러리 제출 코드 import math A, B, C = map(int, input().split()) if B >= C : print(-1) else : print(math.floor(A / (C - B) + 1)) 해설 일단, 이 문제는 3개의 입력을 받게 됩니다. 각각 고정비용 $A$, 가변비용 $B$, 상품비용 $C$ 입니다. 그리고 $x$를 판매한 상품의 개수라고 하겠습..

Programming/Coding Problem

BOJ 1316번 : 그룹 단어 체커

안녕하세요. 지난 포스팅의 BOJ 2941번 : 크로아티아 알파벳에서는 replace 함수를 이용해서 크로아티아 알파벳을 단순한 문자로 치환한 뒤 문자열의 길이를 계산하는 방법을 적용해보았습니다. 오늘은 살짝 조건문이 까다로운 문제를 풀어보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 문자열 자료형 제출 코드 cnt = 0 for _ in range(int(input())) : S = input() alpha = [0] * 27 for idx, s in enumerate(S) : if alpha[ord(s) - 97] == 0 : alpha[ord(s) - 97] += 1 else : if S[idx - 1] == s :..

Programming/Coding Problem

BOJ 2941번 : 크로아티아 알파벳

안녕하세요. 지난 포스팅의 BOJ 5622번 : 다이얼에서는 문자 자체를 비교함으로써 해당 조건에 맞는 문제를 풀어보았습니다. 오늘은 문자열을 대치시키는 replace(old, new) 함수를 활용해서 문제를 풀어보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 문자열 자료형 replace 함수 제출 코드 cro = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] S = input() for c in cro : S = S.replace(c, '?') print(len(S)) 해설 이 문제는 접근하기에 따라서 어려워질수도 있고 쉬울수도 있는 문제입니다. 당장 이 문제를 보고 입력된 문..

Programming/Coding Problem

BOJ 5622번 : 다이얼

안녕하세요. 지난 포스팅의 BOJ 2908번 : 상수에서는 슬라이싱을 이용한 문자열 뒤집기 방법을 이용해서 문제를 풀어보았습니다. 오늘도 역시 문자열과 관련된 문제를 풀어보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 문자열 자료형 제출 코드 S = input() T = 0 for s in S : if s < "D" : T += 3 elif s < "G" : T += 4 elif s < "J" : T += 5 elif s < "M" : T += 6 elif s < "P" : T += 7 elif s < "T" : T += 8 elif s < "W" : T += 9 else : T += 10 print(T) 해설 문제는 단..

Programming/Coding Problem

BOJ 2908번 : 상수

안녕하세요. 지난 포스팅의 BOJ 1152번 : 단어의 개수에서는 split 함수와 len 함수를 이용해서 간단하게 문제를 풀어보았습니다. 오늘도 문자열과 관련된 문제를 풀어보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 문자열 자료형 reversed 함수 제출 코드 A, B = input().split() print(int(A[::-1]) if int(A[::-1]) > int(B[::-1]) else int(B[::-1])) 해설 이 문제는 먼저 2개의 숫자를 공백을 기준으로 입력받기 때문에 map(int, input().split()) 를 이용할 수도 있지만 결국에 중간에 문자열을 뒤집어야하기 때문에 굳이 정수형으로..

Programming/Coding Problem

BOJ 1152번 : 단어의 개수

안녕하세요. 지난 포스팅의 BOJ 1157번 : 단어 공부에서는 문자열 내장 함수들을 이용해서 문제를 풀어보았습니다. 오늘도 역시 문자열과 관련된 문제를 풀어보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 문자열 자료형 len 함수 제출 코드 print(len(input().split())) 해설 문제의 입력은 임의의 단어 개수를 자닌 문자열이 입력됩니다. 이때, 출력은 해당 문자열에 포함된 단어의 개수를 출력해주어야합니다. 저희는 여기서 문자열 내장함수인 split 함수와 리스트 함수인 len 함수를 함께 적용할 수 있습니다. split() 함수를 통해 입력된 문자열을 공백을 기준으로 분리한 리스트를 만든 뒤 리스트 안..

Programming/Coding Problem

BOJ 1157번 : 단어 공부

안녕하세요. 지난 포스팅의 BOJ 2675번 : 문자열 반복에서는 문자열 내장함수인 join 함수를 이용해서 문제를 풀어보았습니다. 오늘도 문자열과 관련된 문제를 풀어보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 문자열 자료형 lower / upper 함수 제출 코드 S = input().lower() cnt = [0] * 26 for s in S : cnt[ord(s) - 97] += 1 if cnt.index(max(cnt)) == 25 or max(cnt[cnt.index(max(cnt)) + 1 : ]) != max(cnt) : print(chr(cnt.index(max(cnt)) + 65)) else : pri..

Programming/Coding Problem

BOJ 2675번 : 문자열 반복

안녕하세요. 지난 포스팅의 BOJ 10809번 : 알파벳 찾기에서는 아스키코드 변환 함수인 ord 함수를 이용해서 문제를 풀어보았습니다. 오늘은 문자열 내장함수인 join 함수를 이용해서 문제를 풀어보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 문자열 자료형 join 함수 제출 코드 for _ in range(int(input())) : R, S = input().split() print(''.join([s * int(R) for s in S])) 해설 일단, 테스트케이스의 개수를 입력받은 뒤 문자열 S와 해당 문자열에서 각 문자를 몇 번 반복해서 출력할 것인지에 대한 변수인 R을 입력받습니다. 다음으로 할 것은 각 문..

Johns Hohns
'파이썬' 태그의 글 목록 (9 Page)