프로그래머스(47)
-
[python_파이썬_pass]백준_7785번_회사에 있는 사람_풀이
공부하는허딩크 : https://www.youtube.com/live/S9Tn1JM6-yc?feature=shared일단 문제는 쉽게 느껴진다.기본적으로 이 문제를 접하는 사람이라면 어느정도 실력이 쌓여서 올라 왔을테니... 시간이 1초로 조금 짧게 느껴졌지만 (하단참조) 이런게 없기에 일단 시간을 고려하지 않고 바로 리스트를 활용해서 문제를 풀었다. 역시 list를 활용하니 시간초과를 예상했다. 그럼 다시 dict로 전환해준다.#시간초과 n = int(input())member = []for _ in range(n): A, B = input().split() if B == "enter": member.append(A) else: member.remo..
2024.05.11 -
[python_파이썬_pass]프로그래머스_LV1_두 개 뽑아서 더하기_풀이
공부하는허딩크 : https://www.youtube.com/live/kdCOczz1e9c?feature=shared조합을 풀기에 가장 좋은 문제인 것 같다. combinations를 사용하여 2개짜리 조합을 만들어 준 뒤 각 배열을 sum으 해주고 중복되지 않게 리스트를 구성한다.itertools의 combinations와 continue, append, sum, sort를 사용해서 코드를 작성했다.import itertoolsdef solution1(numbers): answer = [] for i in itertools.combinations(numbers, 2): if sum(i) in answer: continue else: ..
2024.05.10 -
[python_파이썬_pass]프로그래머스_LV1_K번째수_풀이
공부하는허딩크 : https://www.youtube.com/live/kdCOczz1e9c?feature=shared오랜만에 깔끔하게 문제를 해결한 것 같다... 그만큼 쉬운 문제겠지.. 슬라이싱과 인덱싱으로 간편하게 해결할 수 있다.def solution(array, commands): answer = [] for i, j, k in commands: answer.append(sorted(array[i-1:j])[k-1]) return answer 1. lambda, map을 활용해서 한줄코드를 만들었다.list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands)) 2. 컴프리헨션도 꽤 괜찮아 보인다.[sorted(arr..
2024.05.10 -
[python_파이썬_pass]프로그래머스_LV1_문자열 내 마음대로 정렬하기_풀이
공부하는허딩크 : https://www.youtube.com/live/kdCOczz1e9c?feature=sharedsort만 잘 알면 해결하기 어렵지 않다. lambda는 처음 사용해봤다. 단순히 lambda 인자 : 표현식으로 표현sort()의 괄호 안헤 key = 함수 ==> 여기에 함수가 나와야 함 그래서 lambda가 유용함ex> def sum(x, y): return x + y lambda x, y : x + y def solution(strings, n): strings.sort() strings.sort(key=lambda x:x[n]) return strings 함수를 만들어서 key=에 넣는게 조금 헷갈린다. 계속 풀다보니 key이걸..
2024.05.10 -
[python_파이썬_pass]프로그래머스_LV1_최소직사각형_풀이
공부하는허딩크 : https://www.youtube.com/live/kdCOczz1e9c?feature=shared문제 길이만 길지 결국 아래의 사항을 이해하면 된다.1. 가장 큰 수를 뽑아낸다. (가로, 세로 모두 합쳐서)2. 가로, 세로를 (x, y)라고 했을때 (큰수, 작은수)로 만들어서 배열해 놓고 작은수들중의 가장 큰 수를 뽑는다. 위의 두 조건을 코드로 작성해 보면,위 2가지 조건을 찾아내지 못한채 그냥 코드만 두들긴 결과이다.통과되는 문제도 있겠지만 테스트케이스별로 틀린 것도 발생한다.1번의 가장 큰 수를 뽑아내는데 오류 발생함 1번째 인덱스에 가장 큰 수가 있으면 걸러내지 못함(아래의 배열)[[14, 7], [12, 3], [10, 7], [8, 15], [5, 15]][[15, 8], ..
2024.05.10 -
[python_파이썬_pass]프로그래머스_LV1_시저 암호_풀이
공부하는허딩크 : https://www.youtube.com/live/kdCOczz1e9c?feature=shared쉽게 봤다가 애를 좀 먹었다. 문제를 크게 보고 정확히 이해하자.! 처음 실패 이후 왜 실패인지도 정확히 알아차리지 못했음, 공백 조건이 있어 2개 이상 공백이 나와도 1개로 처리해야하나? 이런생각만 함.def solution1(s, n): answer = '' for i in s: if i.isalpha(): if i == 'z' or i == 'Z': answer += chr(ord(i) + n - 26) else: answer += chr(ord(i) + n) ..
2024.05.09