분류 전체보기(189)
-
[python_파이썬_pass]백준_10816번_숫자 카드2_풀이
공부하는허딩크 : https://www.youtube.com/live/S9Tn1JM6-yc?feature=shared 10815번 숫자카드를 풀었다면 이것도 바로 해결할 수 있다.방법은 동일하다. dict를 활용해서 key값에 해당하는 value값을 불러오면 된다.단, key값이 없을 경우 error를 어떻게 대응하는지 2가지 방법으로 해결했다. map으로 받을때 리스트로 변환하기 위해서 [map()]이렇게 하면 안된다. 꼭 list(map())으로 하자. => {: 1}처음에 N_list로 가지고 있는 카드의 숫자를 리스트로 만들어 주고 이걸 dict로 전환한다. 이때 동일한 숫자는 value에 +1을 한다try except로 M_list를 불러오면서 dict에 key값이 없으면 0을 출력, key값이..
2024.05.11 -
[python_파이썬]백준_1620번_나는야 포켓몬 마스터 이다솜_풀이
공부하는허딩크 : https://www.youtube.com/live/S9Tn1JM6-yc?feature=shared문제가 너무 길다. 다 필요 없고 입력과 출력 조건만 보면 된다. 결론은 도감에 수록되어 있는 몬스터들이 있다. 그 다음 문제로 내는 몬스터 이름과 숫자가 도감에 있는지 여부 및 출력하는 것이다. 시간제한 2초로 도감을 list로 만들어서 enumerate로 인덱스와 값을 찾아서 문제를 풀기에는 일단 시간초과가 나올 것으로 예상되었다. 일단 도감을 dict로 만들어주고 문제를 하나씩 받아서 value와 key값을 비교 후 출력함 => 이중for문 사용#시간초과 : 이중for문을 풀어야함.N, M = map(int, input().split())monster = {}for i in rang..
2024.05.11 -
[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