본문 바로가기

분류 전체보기418

022 수 정렬하기 3 첫번째 코드 계수 정렬 방법으로 푸는 코드를 작성해야 했다.. 먼저 계수 정렬에 대해 알지 못해서 책을 참고했다 생각보다 단순한 방법이었다 개수가 있는 경우에 개수만큼 원소를 추가하여 값이 있는 원소들을 있는만큼 출력하는 방식이다! import sys input = sys.stdin.readline n = int(input()) count = [0] * 10001 for i in range(n): count[int(input())] += 1 for i in range(10001): if count != 0: for _ in range(count[i]): print(i) 통과! 다음에 간단하게 풀어보면서 기억하자! 링크 https://github.com/ornni/programmers/tree/main/%.. 2024. 5. 7.
021 버블 소트 첫번째 코드 버블 소트 문제인 만큼, 버블 소트를 이용하여 정렬하면서 swap을 한 경우 1씩 결과에 저장해주는 코드를 작성한다. import sys input = sys.stdin.readline n = int(input()) A = list(map(int, input().split())) swap_count = 0 for i in range(n-1): for j in range(n-i-1): if A[j] > A[j+1]: tmp = A[j] A[j] = A[j+1] A[j+1] = tmp swap_count += 1 print(swap_count) 맞는 듯 하나 시간초과가 나타난다... 두번째 코드 책을 참고하여 진행한 결과 이 문제는 병합 정렬을 이용하여 푸는 것이다! 이때 코드는 이전 문제와 거.. 2024. 5. 7.
사분면 고르기 첫번째 코드 x와 y가 각각 양수 또는 음수일 때 어느 사분면에 위치하는지 확인한다.x와 y가 모두 양수인 경우 1사분면x는 음수, y는 양수인 경우 2사분면x와 y가 모두 음수인 경우 3사분면x는 양수, y는 음수인 경우 4사분면이를 코드로 작성하면 아래와 같다. import sys input = sys.stdin.readline x = int(input()) y = int(input()) if x > 0 and y > 0:     print(1) elif x > 0 and y     print(4) elif x  0:     print(2) else:     print(3)  통과!링크https://github.com/ornni/programmers/tree/main/%EB%B0%B1%EC%A4%80.. 2024. 5. 7.
방학 숙제 첫번째 코드 각 과목이 걸리는 날을 계산한 후최대값을 골라 전체 날에서 뺀 값이 정답이 된다. import sys input = sys.stdin.readline L = int(input()) A = int(input()) B = int(input()) a = int(input()) b = int(input()) days = 0 a_days = 0 b_days = 0 if A % a == 0:     a_days = A // a else:     a_days = (A // a) + 1 if B % b == 0:     b_days = B // b else:     b_days = (B // b) + 1 print(L - max(a_days, b_days)) 통과!링크https://github.com/or.. 2024. 5. 6.
피보나치 수 첫번째 코드 피보나치의 수를 풀 때는 첫번째와 두번째 수에 유의하여 풀면 된다!n은 자연수이므로 n=0일때는 고려하지 않아 넣지 않았다.a0, a1을 이용해서 a2를 구하고 a0, a1을 갱신하는 방법으로 피보나치 수를 구한다! import sys input = sys.stdin.readline n = int(input()) a0 = 0 a1 = 1 if n == 1:     print(a1) else:     for _ in range(n-1):         a2 = a0 + a1         a0 = a1         a1 = a2     print(a2) 통과!링크https://github.com/ornni/programmers/tree/main/%EB%B0%B1%EC%A4%80/Bronze/.. 2024. 5. 5.
퀵 정렬 퀵 정렬 quick sort 기준 값 pivot을 설정해 해당 값보다 작은 데이터와 큰 데이터로 분류하는 것을 반복해 정렬하는 알고리즘 기준값 선정 방법이 시간 복잡도에 많은 영향을 미침 pivot을 중심으로 계속 데이터를 2개의 집합으로 나누면서 정렬 2024. 5. 5.
728x90