코드리뷰(127)
-
[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]백준_14425번_문자열 집합_풀이
공부하는허딩크 : https://www.youtube.com/live/S9Tn1JM6-yc?feature=shared일단, 시간 제한 2초가 걸려 있어 긴장했다. 시간제한 조건이 있다는 건 내 마음대로 코드를 작성할 수 없고, 함수사용등에 제한이 있다.문제는 전체적으로 이해하기 쉽게 되어 있다. 즉 11개의 문자열이 있는데 5개의 문제열 배열과 비교해서 같은 녀석만큼 개수를 카운트 해주면 된다. 딱히 계산을 필요로 하는 함수를 사용할 필요가 없이 for와 if를 조심스럽게 구현했다.단, 이중for문을 사용해서 그런건지 실패했다.import sysinput = sys.stdin.readline#시간제한(2초) : 역시 시간초과가 뜸. 예상했음N, M = map(int, input().split())S = ..
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