728x90

Python/Coding Test 59

[Coding Test] 카펫(완전탐색)

프로그래머스 코딩테스트 2단계 : 카펫(완전탐색) 문제 설명 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 문제 풀이 처음 문제 ..

Python/Coding Test 2023.07.17

[Coding Test] 크기가 작은 부분문자열

프로그래머스 코딩테스트 1단계 : 크기가 작은 부분문자열 문제 설명 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요. 예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. 문제 풀이 반복문을 통해 t문자열의 길이만큼 반복 t문자열을 p문자열의 길이만큼 슬라이스하여 a에 저장 조건문을 통해 a문자열의 길이와 p문자열의 길이가 같을 때를 구분 앞의 조건문으로..

Python/Coding Test 2023.07.14

[Coding Test] 삼총사

프로그래머스 코딩테스트 1단계 : 삼총사 문제 설명 한국중학교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다. 한국중학교 학생들의 번호를 나타내는 정수 배열 number가 매개변수로 주어질 때, 학생들 중 삼총사를 만들 수 있는 방법의 수를 retur..

Python/Coding Test 2023.07.13

[Coding Test] 숫자의 표현

프로그래머스 코딩테스트 2단계 : 숫자의 표현 문제 설명 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요. 문제 풀이 정답을 입력할 cnt 정의 반복문을 통해 i를 1부터 n+1까지 반복 반복문에 s를 0으로 정의 반복문 안에 새로운 반복문을 통해 j의 범위를 i부터 n+1까지 반복 반복문을 통해 s에 j를 더해서..

Python/Coding Test 2023.07.08

[Coding Test] 3진법 뒤집기

프로그래머스 코딩테스트 1단계 : 3진법 뒤집기 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 문제 풀이 3진수로 변환한 수를 담아줄 cvt 정의 while 반볻문을 통해 n이 0보다 클 때 코드를 계속 반복 divmod 함수를 통해 n을 3으로 나누었을 때 몫을 n, 나머지를 mod에 저장 나머지의 값을 문자열로 변환하여 cvt에 넣어줌 위에 반복문을 계속해서 실행하면 cvt에 n의 역순 3진수가 출력 됨 int 함수를 통해 cvt를 다시 3진수로 변환하여 출력 * 진수 변환에 관한 자세한 내용은 아래의 블로그 참고 Python 진법 변환 정답 코드 def solution..

Python/Coding Test 2023.07.07

[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
반응형