본문 바로가기

리스트

(5)
<Level 1> 수박수박수박수박수박수 with 파이썬 문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다. def solution(n): return ''.join(['수' if i % 2 == 0 else '박' for i in range(n)]) - 파이썬의 최대 장점인 리스트 컴프리헨션을 활용해서 풀고자 했다. 리스트 컴프리헨션을 통해 좋은 가독성을 유지하면서 짧은 코드로 문제를 해결할 수 있다. - 프로그래머스 쉬운문제들의 대부분은 파이썬으로는 한줄로 끝낼 수 있었고, 이 문제도 그럴 수 있을거라고 생각했다. 그러나 컴프리헨션에서 조건은 ..
<정렬> 2437번 저울 with 파이썬 문제 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓을 수 있고, 다른 쪽에는 무게를 측정하려는 물건만 올려놓을 수 있다. 무게가 양의 정수인 N개의 저울추가 주어질 때, 이 추들을 사용하여 측정할 수 없는 양의 정수 무게 중 최솟값을 구하는 프로그램을 작성하시오. 예를 들어, 무게가 각각 3, 1, 6, 2, 7, 30, 1인 7개의 저울추가 주어졌을 때, 이 추들로 측정할 수 없는 양의 정수 무게 중 최솟값은 21이다. 입력 첫 째 줄에는 저울추의 개수를 나타내는 양의 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 둘째 줄에는 저울추의 무게를 나타내는..
<Level 1> 완주하지 못한 선수 with 파이썬 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. def solution(participant, completion): answer = ..
<파이썬> 2차원 배열 정렬 1. 기본적인 리스트 정렬 * sort 정렬 - sort는 리스트에서 제공되는 기본적인 메서드이다. 주로 아래와 같이 사용한다. lst = [2, 3, 5, 6, 1, 4] lst.sort() print(lst) # [1, 2, 3, 4, 5, 6] - sort 는 기본적으로 오름차순 정렬이다. 인자로 key, reverse를 넣어서 변형이 가능하다. lst = [2, 3, 5, 6, 1, 4] lst.sort(reverse=True) print(lst) # [6, 5, 4, 3, 2, 1] - 위는 reverse를 True로 하여 내림차순 정렬을 시행한 것이다. * key 사용하기 - 이번에는 key를 사용해보자. key는 함수의 결과에 따라 정렬을 할 수 있다. lst = ["one", "two", ..
<파이썬> 리스트 컴프리헨션 * 소개 - 기존에 리스트의 원소를 반복작업으로 추가할 때 for문을 사용해서 하나하나 추가했으나, 최근에 문제를 풀며 리스트 컴프리헨션의 필요성을 느꼈다. 반복되는 원소를 넣을 때 리스트 컴프리헨션을 사용하면 한 줄만에 리스트를 초기화 및 제작할 수 있다. - 리스트 컴프리헨션은 쉽게 말해서 [](대괄호) 안에 반복문을 넣어서 쉽게 원소들을 넣는 것을 일컫는다. 추가적으로 조건문도 사용할 수 있다. array = [i for i in range(5)] print(array) # [0, 1, 2, 3, 4] - 기본적으로 위와 같이 사용한다. 가장 앞의 i는 ',' 를 붙여가며 넣을 원소를 의미한다. - 뒤의 반복문은 원소를 어떤식으로 바꿔가며 넣을지를 의미한다. - 가장 쉽게 쓰는 방법은 일단 대괄호를..