728x90

Python 97

[Coding Test] 두 개 뽑아서 더하기

프로그래머스 코딩테스트 1단계 : 두 개 뽑아서 더하기 문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 문제 풀이 itertools 라이브러리를 이용해 조합을 사용 반복문으로 numbers 중 2개의 수를 뽑아 answer에 뽑은 두 수를 더해 추가 새롭게 생성된 answer에서 set함수를 이용해 중복 제거 중복을 제거한 answer를 오름차순으로 정렬해 출력 정답 코드 from itertools import combinations def solution(numbers): answer = [] for i in combinati..

Python/Coding Test 2023.07.22

[Coding Test] 문자열 내 마음대로 정렬하기

프로그래머스 코딩테스트 1단계 : 문자열 내 마음대로 정렬하기 문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 문제 풀이 범위를 strings의 길이로 한 반복문에서 strings의 인덱스 n값을 strings 앞에 붙여 다시 정의함 인덱스 값이 추가된 strings를 sort로 순서대로 정렬 다시 반복문을 실행하여 추가했던 인덱스 n번째 값을 슬라이스해서 answer에 추가 최종적으로 완성된 answer 반환 정답 코드 def solution..

Python/Coding Test 2023.07.21

[Coding Test] 영어 끝말잇기

프로그래머스 코딩테스트 2단계 : 영어 끝말잇기 문제 설명 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 이전에 등장했던 단어는 사용할 수 없습니다. 한 글자인 단어는 인정되지 않습니다. 다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다. 1번 사람이 자신의 첫 번째 차례에 tank를..

Python/Coding Test 2023.07.21

[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

[기초문법] itertools를 이용한 순열, 조합

1. itertools 라이브러리 실행 방법 from itertools import permutations # 순열 from itertools import combinations # 조합2. 순열 반복 가능한 객체 안에 n개 중 r개를 고르는 경우 순서대로 택함 # 기본 양식 for i in permutations(반복 가능한 객체, r) # 예시 for i in permutation([1,2,3], 2): print(i, end=',') ----------------------------------------------- > (1, 2),(1, 3),(2, 1),(2, 3),(3, 1),(3, 2)3. 조합 반복 가능한 객체 안에 n개 중 r개를 고르는 경우 순서와 관계 없음 # 기본 양..

Python/기초문법 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

[기초문법] Python 진법 변환

Python 여러가지 진법 변환 1. 10진수 -> 2, 8, 16진수 1-1. 10진수 -> 2진수 # a 에 10진수 bin(a) # 기본 형식 format(a, 'b') # 기본 형식 print(bin(10)) print(bin(10)[2:]) print(format(10, 'b') print(format(10, '#b') ------------------------ > ob1010 > 1010 > 1010 > ob1010 bin 함수를 실행하면 앞에 ob가 붙음, [2:]로 리스트 잘라 숫자만 출력 format 함수에서 'b' 앞에 #을 붙이면 ob 붙어서 출력 1-2. 10진수 -> 6진수 # a 에 10진수 oct(a) # 기본 형식 p..

Python/기초문법 2023.07.07
반응형