프로그래머스 | 2021 카카오 채용연계형 인턴십 | 숫자 문자열과 영단어 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(s): ndict = {'zero':'0', 'one':'1', 'two':'2', 'three':'3','four':'4', 'five':'5', 'six':'6', 'seven':'7', 'eight':'8', 'nine':'9'} for i in ndict: if i in s: s = s.replace(i, ndict[i]) return int(s) 문자열과 숫자가 섞여있는 s가 주어지면 숫자로 바꾸는 문제이다. s="one4seveneight"이면 1478로 바꾸면 된다. ..
프로그래머스 | 2018 KAKAO BLIND RECRUITMENT | 비밀지도 [파이썬 python]
·
Algorithm/프로그래머스
코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 school.programmers.co.kr 문제 설명까지 하면 길어질 것 같아 코드에 대한 설명만 남깁니다. 코드 def solution(n, arr1, arr2): answer = [] for i in range(n): arr1[i] = format(arr1[i], 'b').zfill(n) arr2[i] = format(arr2[i], 'b').zfill(n) temp = '' for a, b in zip(arr1[i], arr2[i]): if a == '0' and b == '0'..
프로그래머스 | 예산 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(d, budget): answer = 0 # 가능한 부서의 수 for i in sorted(d): budget -= i if budget < 0: break answer += 1 return answer 부서별로 신청한 금액이 들어있는 배열 d가 있을 때, 주어진 예산 budget으로 최대 몇 개의 부서에 지원할 수 있는지 구하는 문제이다. 최대한 혼자 풀어보기 위해 고민하고 고민했지만 어려웠다. 처음에는 조합(combinations)을 사용했지만 d의 길이가 최대 100이기 때문..
프로그래머스 | 이상한 문자 만들기 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 시도한 코드 def solution(s): answer = '' s = s.split(' ') for word in s: for i in range(len(word)): if i % 2 == 0: answer += word[i].upper() else: answer += word[i].lower() answer += ' ' return answer.rstrip() 주어진 문자열의 각 단어별 짝수번째 인덱스는 대문자로, 홀수번째 인덱스는 소문자로 나타내는 문제이다. 각 문자의 인덱스가 짝수인지 홀수인지 판..
python | 10진법을 n진법으로 나타내기
·
TIL/python
지난번 글에서 진법에 대해 정리를 했었는데 10진법을 n진법으로 바꾸는 방법은 다루지 않았다. 10진법을 n진법으로 바꾸는 내장 함수가 없기 때문에 따로 과정을 하나하나 작성해보려 한다. 먼저, n진법이 무엇인지 간단하게 이야기하자면 0부터 n-1의 수로 모든 자리수를 표기하는 방법이다. 2진법은 0부터 1까지의 수로, 3진법은 0부터 2까지의 수로, ... 10진수는 0부터 9까지의 수로 표기한다. 10진법 수를 n진법 수로 나타내는 방법은 어렵지 않다. n으로 나눈 나머지를 순서대로가 아닌 거꾸로 읽어주면 n진법 수가 된다. 그러므로 우리는 10진법 수를 n으로 나눈 나머지를 변수에 저장하고 거꾸로 읽어주면 n진법 수가 되는 것이다. 위 과정을 코드로 나타내면 다음과 같다. answer = '' wh..
프로그래머스 | 같은 숫자는 싫어 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(arr): answer = [arr[0]] for i in range(1, len(arr)): if arr[i] != arr[i-1]: answer.append(arr[i]) return answer 주어지는 arr에서 연속으로 같은 수가 나오면 하나를 제거한 리스트를 리턴하는 문제이다. 예를 들어, arr=[1, 1, 3, 0, 1, 1]이면 [1, 3, 0, 1]을 리턴하는 것이다. 리스트에서 중복을 제거하는 것은 set을 이용하면 가장 쉽게 할 수 있다. 하지만, set은 순..