본문 바로가기
반응형

Online-Judge103

[Programmers] Python 피보나치 수 https://programmers.co.kr/learn/courses/30/lessons/12945?language=python3 코딩테스트 연습 - 피보나치 수 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = programmers.co.kr def solution(n): fic = [0,1] for i in range(2,n+1): fic.append(fic[i-2] + fic[i-1]) retu.. 2022. 6. 21.
[Programmers] Python 최댓값과 최솟값 https://programmers.co.kr/learn/courses/30/lessons/12939?language=python3 코딩테스트 연습 - 최댓값과 최솟값 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를 programmers.co.kr def solution(s): listS = list(map(int, s.split())) return str(min(listS)) + ' ' + str(max(listS)) 2022. 6. 21.
[Programmers] Python 신규 아이디 추천 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr [전체코드] import re def solution(new_id): #step 1 new_id = new_id.lower() #step 2 new_id = re.sub(r'[^0-9a-z-_.]', '', new_id) #step 3 while new_id.find("..") != -1: new_id = new_id.replace("..", ".") #.. 2022. 6. 21.
[Programmers] Python N개의 최소공배수 https://programmers.co.kr/learn/courses/30/lessons/12953 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배 programmers.co.kr import math def solution(arr): for i in range(max(arr), math.prod(arr)+1): for j in range(len(arr)): if i % arr[j] != 0: break elif j == len(arr)-1: return i 2022. 6. 21.
[Programmers] Python 문자열 압축 https://programmers.co.kr/learn/courses/30/lessons/60057?language=python3 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr def solution(s): min = len(s) for i in range(1, len(s)): cnt = 1 words = [s[j:j+i] for j in range(0,len(s),i)] words.append('') new_s = '' for j in range(1, len(words)): if words[j] .. 2022. 6. 21.
[Programmers] Python 짝지어 제거하기 https://programmers.co.kr/learn/courses/30/lessons/12973?language=python3 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr def solution(s): stack = [] for i in range(len(s)): if len(stack) != 0 and stack[-1] == s[i]: stack.pop() else: stack.append(s[i]) return 1 if len(stack) == 0 else 0 2022. 6. 18.
[Programmers] Python 숫자 문자열과 영단어 https://programmers.co.kr/learn/courses/30/lessons/81301?language=python3 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr def solution(s): num = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"] for i in range(10): s = s.replace(num[i] , str(i)) return int(s) 2022. 6. 18.
[Programmers] Python 카펫 https://programmers.co.kr/learn/courses/30/lessons/42842?language=python3 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 1. 갈색의 개수 = 2 * (가로+세로-2) 2. 노란색의 개수 = (가로-2) * (세로-2) 1번식을 재조합하면, (가로+세로) = (갈색의 개수) / 2 + 2 이때, 가로가 세로보다 길거나 같다고 가정했으므로 가로를 (갈색의 개수) / 2 + 2로, 세로를 0으로 세팅한 뒤 2번식을 만족할 때까지 값을 하나씩 늘리고 빼.. 2022. 6. 15.
[Programmers] Python K번째수 https://programmers.co.kr/learn/courses/30/lessons/42748?language=python3 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr def solution(array, commands): return [sorted(array[a-1:b])[c-1] for a,b,c in commands] 2022. 6. 15.
반응형