목록Coding test(Python3) (178)
NIRVANA
1. 문제 코니는 매일 다른 옷을 조합하여 입는것을 좋아합니다.예를 들어 코니가 가진 옷이 아래와 같고, 오늘 코니가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야합니다.코니는 각 종류별로 최대 1가지 의상만 착용할 수 있습니다. 예를 들어 위 예시의 경우 동그란 안경과 검정 선글라스를 동시에 착용할 수는 없습니다.착용한 의상의 일부가 겹치더라도, 다른 의상이 겹치지 않거나, 혹은 의상을 추가로 더 착용한 경우에는 서로 다른 방법으로 옷을 착용한 것으로 계산합니다.코니는 하루에 최소 한 개의 의상은 입습니다.코니가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도..
1. 문제 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 조건x는 -10000000 이상, 10000000 이하인 정수입니다.n은 1000 이하인 자연수입니다. 2. 문제 풀이 1) 1부터 n+1까지 for문을 돌린다.2) i에 x를 곱하고, 해당 값을 answer에 추가한다.def solution(x, n): answer = [] for i in range(1, n+1): answer.append(i*x) return answer
1. 문제전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다.전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다.구조대 : 119박준영 : 97 674 223지영석 : 11 9552 4421전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요.제한 사항phone_book의 길이는 1 이상 1,000,000 이하입니다.각 전화번호의 길이는 1 이상 20 이하입니다.같은 전화번호가 중복해서 들어있지 않습니다. 2. 문제 풀이 문제 풀이 접근법..
1. 문제 2. 문제 풀이 문제 풀이 접근법1 다음과 같은 과정을 통해서 첫번째 원소 삽입 후 배열 B는 [ 2 2 3 1 ]의 상태가 되고, return 되는 원소는 4가 되게 된다. 이때, 자료구조가 스택일 경우에는 pop한 수를 다시 append하게 되므로 아무런 변화가 없게 된다. (큐는 FIFO이기 때문에 앞에 있는 원소가 먼저 빠지게 되므로) 따라서 해당 자료구조에서는 스택을 무시하고 큐가 여러개 이어져 있는 것으로 생각할 수 있다. 1) 큐인 자료구조만 찾아서 하나의 큐로 만든다. (덱 형태)2) 큐의 맨 앞에 C의 i번째 원소를 추가하고, 맨 뒤의 원소를 pop한 뒤 리스트에 저장한다.3) 리스트에 저장된 원소를 모두 출력한다. import sysfrom collections ..
1. 문제1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선이 있다. 각 풍선 안에는 종이가 하나 들어있고, 종이에는 -N보다 크거나 같고, N보다 작거나 같은 정수가 하나 적혀있다. 이 풍선들을 다음과 같은 규칙으로 터뜨린다.우선, 제일 처음에는 1번 풍선을 터뜨린다. 다음에는 풍선 안에 있는 종이를 꺼내어 그 종이에 적혀있는 값만큼 이동하여 다음 풍선을 터뜨린다. 양수가 적혀 있을 경우에는 오른쪽으로, 음수가 적혀 있을 때는 왼쪽으로 이동한다. 이동할 때에는 이미 터진 풍선은 빼고 이동한다.예를 들어 다섯 개의 풍선 안에 차례로 3, 2, 1, ..
1. 문제 정수를 저장하는 덱을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 여덟 가지이다.1 X: 정수 X를 덱의 앞에 넣는다. (1 ≤ X ≤ 100,000)2 X: 정수 X를 덱의 뒤에 넣는다. (1 ≤ X ≤ 100,000)3: 덱에 정수가 있다면 맨 앞의 정수를 빼고 출력한다. 없다면 -1을 대신 출력한다.4: 덱에 정수가 있다면 맨 뒤의 정수를 빼고 출력한다. 없다면 -1을 대신 출력한다.5: 덱에 들어있는 정수의 개수를 출력한다.6: 덱이 비어있으면 1, 아니면 0을 출력한다.7: 덱에 정수가 있다면 맨 앞의 정수를 출력한다. 없다면 -1을 대신 출력한다.8: 덱에 정수가 있다면 맨 뒤의 정수를 출력한다. 없다면 -1을 대신 출력한다.입력첫째 줄에 명령의 ..