728x90

Python 97

[Coding Test] 이진 변환 반복하기

프로그래머스 코딩테스트 2단계 : 이진 변환 반복하기 문제 설명 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요. 문제 풀이 처음 풀이 처음에 문제를 잘 못 읽어 s의 길이가 아닌..

Python/Coding Test 2023.07.07

[Coding Test] 기능개발

프로그래머스 코딩테스트 2단계 : 기능개발(스택/큐) 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 문제 풀이 작업일 수를 세기 위한 days와 배포 날짜에 배포 가능한 기능 수를 세기 위한 cnt 선언 whi..

Python/Coding Test 2023.07.04

[Coding Test] 올바른 괄호

프로그래머스 코딩테스트 2단계 : 올바른 괄호 문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 문제 풀이 빈 배열 stack 정의 반복문을 통해 문자열 s를 반복 조건문을 통해 i가 ( 일 경우, 빈 배열에 추가 i가 ) 일 경우, pop함..

Python/Coding Test 2023.06.28

[Coding Test] JadenCase 문자열 만들기

프로그래머스 코딩테스트 2단계 : JadenCase 문자열 만들기 문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 입출력 예 문제 풀이 처음 코드 풀이 split함수를 이용해 s를 공백 기준으로 잘라 리스트로 변경 새롭게 생성한 문자열 저장할 new 문자열 생성 반복문을 통해 리스트를 반복해서 실행 문자가 공백일 때, 공백을 그대로 유지해주기 위해 조건문을 사용해 공백일 때 새로운 문자열에 공백을 추가 i를 전부 소문자로 변환하..

Python/Coding Test 2023.06.27

[Conding Test] 이상한 문자 만들기

프로그래머스 코딩테스트 1단계 : 이상한 문자 만들기 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 입출력 예 s = 'tyr hello world' return = 'TrY HeLlO WoRlD' 문제 풀이 문자열의 인덱스를 확인하기 위한 idx와 새로 생성한 문자열을 저장할 answer 생성 반복문을 통해 s 문자열의 문자를 하나씩 꺼내기 꺼내온 문자열이 공백인지 아닌지 구분하는 조건문 생성 공백일 경우, answer에 공백을 추가해주고 idx 초기화 해주기 공백이 아닐 경우,..

Python/Coding Test 2023.06.22

[Coding Test] 내적

프로그래머스 코딩테스트 1단계 : 내적 문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]b[0] + a[1]b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 문제 풀이 정답을 담을 answer를 0으로 정의 반복문의 범위를 a 배열의 길이로 설정 a와 b에서 같은 자리의 값을 곱해서 answer에 더해줌 answer 출력 정답 코드 def solution(a, b): answer = 0 for i in range(len(a)): answer += a[i] * b[i] return answer* 이 문제는 프로그래머스 코딩테스트 연습 1단..

Python/Coding Test 2023.05.31

[Coding Test] 최댓값과 최솟값

프로그래머스 코딩테스트 2단계 : 최댓값과 최솟값 문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 문제 풀이 문자열 s를 split 함수를 통해 공백을 기준으로 나누어 리스트로 만들어 줌 map 함수를 통해 리스트를 정수로 변환 최솟값, 최댓값 순서로 새로운 리스트 c에 저장 join과 map을 통해 리스트를 문자열 형태로 변형 정답 코드 def solution(s): a = s.split() b = list(map(int,..

Python/Coding Test 2023.05.28

[Coding Test] 예산

프로그래머스 코딩테스트 1단계 : 예산 문제 설명 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해..

Python/Coding Test 2023.05.27

[Coding Test] 숫자 문자열과 영단어

숫자 문자열과 영단어 : 2021 카카오 채용연계형 인턴십 문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 문제 풀이 문자열 s에서 영단어와 대응되는 숫자를 replace를 이용해 변경해 answer에 저장..

Python/Coding Test 2023.05.27

[Coding Test] [1차] 비밀지도

[1차] 비밀지도(2018 KAKAO BLIND RECRUITMENT) 문제 설명 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. "지도 1"과..

Python/Coding Test 2023.05.26
반응형