본문 바로가기

전체 글400

015 수 정렬하기 첫번째 코드 그냥 문제를 보고 단순히 sort 함수를 사용하면 금방 풀겠다라는 생각을 했다. import sys input = sys.stdin.readline n = int(input()) A =[] for i in range(n):     A.append(int(input())) A.sort() for num in A:     print(num) 통과!근데 이는 버블을 사용해서 풀어보는 것이 힌트이므로 버블을 사용해보자두번째 코드 버블은 인접한 두 개의 숫자를 비교하는 방법이다.덱과 같이 import를 통해 단순한 방법이 있으려나..싶어서 책을 참고했는데그런 방법이 아니라 조건문을 통해서 두개씩 비교하도록 만드는 것이다.인접한 두 개의 숫자 비교를 위해서 내가 가장 헷갈렸던 부분은 범위 정하기이다.... 2024. 4. 25.
016 버블 소트 첫 번째 코드 머릿속에는 버블을 사용하자!! (버블버블 머리속이 아주 부글부글...) 그래서 버블을 사용해서 정렬은 다 했는데....응?그 얼마나 루프를 돌렸는지는 어떻게 알징.... 이 부분에서 책을 참고했다!돌린 루프 = 변하기 이전의 인덱스 - 변한 후의 인덱스 + 1이렇게 생각하면 되는데, 이렇게 글로만 써두고 외우면 나중에 뭔 소리지 할 수 있으니까나중에도 빠른 이해를 위해 그림을 남겨두자! import sys input = sys.stdin.readline n = int(input()) A =[] for i in range(n):     A.append((int(input()), i)) for i in range(n-1):     for j in range(n-i-1):         if A.. 2024. 4. 25.
가장 가까운 같은 글자 첫번째 코드 alpha라는 리스트에 원소를 추가하면서 만약에 다음 원소가 alpha에 있는 경우"현재 길이 - 인덱스"를 통해 길이를 확인하여 answer에 추가하고사용된 원소를 제거하고 새로운 원소를 삽입하는 아이디어를 생각했다. def solution(s):     answer = []     alpha = []     for i in s:         if i not in alpha:             alpha.append(i)             answer.append(-1)         else:             index = alpha.index(i)             answer.append(len(alpha) - index)             del alpha[in.. 2024. 4. 25.
골뱅이 찍기 - 돌아간 ㅍ 첫번째 코드 문자열 출력 방법과 개수 세는 것 정도 신경 써야 하는 문제이다! 문자열 출력을 잘 한다면 금방 풀 수 있는 문제이다:) 그래도 그림으로 보면 이해가 편하다! 이를 코드로 작성하면 아래와 같다! import sys input = sys.stdin.readline n = int(input()) for _ in range(n): print('@'*n + " "*3*n + "@"*n) for _ in range(n): print("@"*(3*n + 2*n)) for _ in range(n): print('@'*n + " "*3*n + "@"*n) for _ in range(n): print("@"*(3*n + 2*n)) for _ in range(n): print('@'*n + " "*3*n + .. 2024. 4. 24.
제리와 톰 2 첫번째 코드 먼저 내 아이디어는 [분자, 분모]로 구성된 리스트에서 규칙을 찾아 반복하는 것이다. 어떻게 분모와 분자가 변하는지 확인을 위해 직접 문제를 풀어봤다. 파란색으로 구성된 것이 주어지는 값이다. 이는 입력에서 반대로 진행되므로 reverse()함수를 이용한다. 그리고 버블 소트에서 사용한 분자와 분모의 위치를 swap한 후 "분모수*(다음수) + 분자수"를 구한다. 이를 다 적용한 후 마지막에 위치를 바꾼 후 "분모수-분자수"로 분자수를 갱신한다. 그러면 아래와 같은 코드를 작성할 수 있다. import sys input = sys.stdin.readline n = int(input()) A = list(map(int, input().split())) A.reverse() answer = [A.. 2024. 4. 23.
014 절댓값 힙 첫번째 코드 스택이나 큐를 이용해서 풀고싶었는데 코드가 너무 복잡해지고 계속 중간에 오류가 나서.... 책을 참고했더니 우선순위 큐를 이용하면 된다고 한다! 정렬 기준을 적용해서 선언하는 방법이다 import sys input = sys.stdin.readline print = sys.stdout.write from queue import PriorityQueue n = int(input()) queue = PriorityQueue() for i in range(n): request = int(input()) if request == 0: if queue.empty(): print('0\n') else: temp = queue.get() print(str((temp[1])) + '\n') else: qu.. 2024. 4. 22.
728x90