전체 글

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)) 해설 이 문제는 접근하기에 따라서 어려워질수도 있고 쉬울수도 있는 문제입니다. 당장 이 문제를 보고 입력된 문..

수학/미적분학

미적분학 - 원기둥좌표계에서 삼중적분

안녕하세요. 지난 포스팅의 미적분학 - 삼중적분에서는 3개의 변수 $(x, y, z)$를 가지는 함수 $w = f(x, y, z)$에 대한 삼중적분을 해보았습니다. 오늘은 이중적분을 극좌표계에서 했듯이 삼중적분을 다른 좌표계에서 해보도록 하겠습니다. 삼중적분에서 자주 사용되는 좌표계는 원기둥좌표계입니다. 오늘은 이것에 대해서 알아보도록 하죠. 일단 원기둥좌표계(Cylinder Coordinate)부터 알아보아야할 거 같습니다. 기본적인 구조는 극좌표계(Polar Coordinate)와 동일합니다. 미적분학 - 극좌표계에서 보았듯이 좌표계 변환을 다시 보도록 하겠습니다. $$x = r\cos(\theta), y = r\sin(\theta)$$ 여기서 원기등좌표계는 추가적으로 $z$축을 추가하여 $(r, \..

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을 입력받습니다. 다음으로 할 것은 각 문..

Programming/Coding Problem

BOJ 10809번 : 알파벳 찾기

안녕하세요. 지난 포스팅의 BOJ 11720번 : 숫자의 합에서는 문자열로 입력되는 각 숫자들의 합을 계산해보았습니다. 오늘은 문자열 내의 문자가 출현되는 위치를 찾는 방법에 대해서 알아보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 문자열 자료형 제출 코드 string = input() cnt = [-1] * 26 for idx, s in enumerate(string) : if cnt[ord(s) - 97] == -1 : cnt[ord(s) - 97] = idx else : pass for c in cnt : print(c, end=' ') 해설 이번 문제는 입력되는 문자열의 각 알파벳 소문자가 출현하는 위치를 반환하..

Johns Hohns
Everyday Image Processing