본문 바로가기

코딩 테스트/프로그래머스98

신고 결과 받기 첫번째 코드 필요한 것들을 하나하나 만들어가면서 차차 진행하면 된다! 라고 생각했다...일단 중복 데이터 제거하고!!!이렇게 1, 2, 3, 4가 필요하다고 생각하고 진행했다!! def solution(id_list, report, k):     check = [[] for _ in range(len(id_list))]     warning = [0] * len(id_list)     stop = []     mail = [0] * len(id_list)     data = []     # 중복 데이터 제거     data1 = set()     for i in report:         data1.add(i)     data1 = list(data1)     # 데이터 내부 분리     for i i.. 2024. 6. 7.
숫자 짝꿍 첫번째 코드 X의 숫자 원소들의 개수를 세고 X에 원소가 있는 경우만 Y의 원소를 세어 XY라는 리스트를 만들었다.XY리스트에 숫자가 있는 경우 해당 원소는 짝꿍이 있는 것이므로"원소 * XY"에서 표현한 개수로 곱한다.또한 00과 같은 경우 0으로 표현하기 위해 int로 바꾸고 다시 str로 돌린다. def solution(X, Y):     answer = ''     x_list = [0] * 10     xy_list = [0] * 10     for i in X:         x_list[int(i)] += 1     for i in Y:         if x_list[int(i)] > 0:             xy_list[int(i)] += 1     for i in range(len(.. 2024. 6. 6.
N개의 최소공배수 첫번째 코드 최대 공약수를 구해서 모든 수에 나눈 후 최소 공배수를 구하면 되지 않을까? def MOD(a, b):     x = min(a, b)     y = max(a, b)          if x == 0:         return y     else:         return MOD(x, y%x) def solution(arr):     answer = 1     arr.sort()     gcd = arr[0]          for i in arr[1:]:         gcd = MOD(gcd, i)          for j in arr:         answer *= (j/gcd)          return int(answer*gcd) 오답...!두번째 코드 제곱수와 같은 문제.. 2024. 6. 4.
바탕화면 정리 첫번째 코드 파일이 위치한 위치를 파악하기 위해 해당 위치들을 확인하여 x, y 리스트에 저장한다. 드래그 시작을 위한 왼쪽 위는 x, y의 최소값들이다.하지만 드래그의 끝인 오른쪽 아래는 x, y의 최대값에 +1을 한 값이다.아래 그림으로 이해하면 편하다! def solution(wallpaper):     x = []     y = []     for i in range(len(wallpaper)):         for j in range(len(wallpaper[i])):             if wallpaper[i][j] == '#':                 x.append(i)                 y.append(j)     lux = min(x)     luy = min(y.. 2024. 6. 3.
가장 큰 수 첫번째 코드 문자열로 변경한 후 문자열 순서대로 정렬을 한다.이후에 모든 수를 붙인다! def solution(numbers):     numbers = list(map(str, numbers))     numbers.sort(key = lambda x: x*3, reverse = True)     return str(int(''.join(numbers))) 통과!링크https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/2/42746.%E2%80%85%EA%B0%80%EC%9E%A5%E2%80%85%ED%81%B0%E2%80%85%EC%88%98 programmers/프로그래머.. 2024. 6. 2.
타겟 넘버 첫번째 코드 DFS를 이용한 문제인데,이전에 책으로만 풀어보다가 직접 경험하려해보니 어려움이 있었다. 어느정도 코드를 작성한 후 마무리가 되지 않아다른 사람의 코드를 보고 참고했다. 개수를 올려가면서 index == number의 길이 일 때 모든 수를 사용했다는 의미이므로 제한을 둔다.그리고 target과 여태 더하거나 뺀 total을 비교하여 동일하면 1을 더한다.numbers안의 수를 더하거나 뺄 때 재귀함수를 사용하여 진행한다. def solution(numbers, target):     global answer     answer = 0          def dfs(index, total):         global answer         if index == len(numbers): .. 2024. 6. 1.
728x90