본문 바로가기

전체 글400

시저 암호 첫번째 코드 알파벳에 숫자를 더하면 그만큼 미뤄진 알파벳이 나오는 코드가 있을 것 같은데....해서 GPT한테 상담을 좀 받았다..ㅎㅎ; 근데 ord라는 함수를 쓰길래...엥 너는 뭐니? 알파벳 순서를 알려주는거니? 했더니?! ord() 함수는 주어진 문자의 유니코드 코드 포인트를 나타내는 정수를 반환합니다. 다시 말해, 문자열에서 주어진 문자의 순서를 나타내는 숫자를 반환하는 함수입니다. 예를 들어, ord('a')는 소문자 'a'의 유니코드 코드 포인트를 반환하며, 대부분의 경우에는 97이 됩니다. 비슷하게, ord('A')는 대문자 'A'의 코드 포인트를 반환하며, 대부분의 경우에는 65가 됩니다. print(ord('a')) # 출력: 97 print(ord('A')) # 출력: 65 print(.. 2024. 4. 16.
제일 작은 수 제거하기 첫번째 코드 만약 원소가 한개이면 그냥 -1를 return하고, 한개 이상인 경우에 최소값의 인덱스를 찾아 해당 값만을 제거하고 나머지를 return하도록 한다!라는 생각을 시작으로 진행했다! def solution(arr): if len(arr) == 1: return [-1] else: del arr[arr.index(min(arr))] return arr 통과! 링크 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/1/12935.%E2%80%85%EC%A0%9C%EC%9D%BC%E2%80%85%EC%9E%91%EC%9D%80%E2%80%85%EC%88%98%E2%80.. 2024. 4. 16.
010 최솟값 찾기 첫번째 코드 윈도우 슬라이딩을 생각하여 그거에 맞게 코드를 작성했다! now_list에 원소 하나를 추가하고 원소 하나를 제거하는 형식을 모든 단계에서 진행하고 now_list의 최소값을 내고 answer 리스트에 계속 업데이트 하는 형식으로 하는거지 import sys input = sys.stdin.readline n , l = map(int, input().split()) A = list(map(int, input().split())) answer = [0] * n now_list = [] for i in range(l): now_list.append(A[i]) answer[i] = min(now_list) for i in range(l, n): now_list.append(A[i]) now_lis.. 2024. 4. 15.
009 DNA 비밀번호 첫번째 코드 라고 말하기도 무색하게... 슬라이딩 윈도우를 써야겠다... 라는 생각을 했는데 어떻게 접근해야할지 몰라서 책을 참고했다. 슬라이딩 윈도우에 추가될 때 변화되는 내용 함수 슬라이딩 윈도우에 제거될 때 변화되는 내용 함수 그리고 0일 떄는 신경 쓰지 않아도 되니 맞다고 표시 먼저 현재 리스트가 비어있으므로 처음부터 슬리이딩 윈도우 만큼 현재 리스트를 채우고 만약에 현재 리스트와 조건 리스트가 동일하면 check 부분이 4가 되어, 정답에 1을 추가한다. 이후부터 숫자 리스트가 끝날때까지 진행 하나 추가, 하나 제거될떄 위의 함수 이용 그리고 현재 리스트와 조건 리스트가 동일하면 check 가 4가 되어 정답에 1추가! 이런 형식으로 진행되는 것이 슬라이딩 위도우이다. 즉 박스만 움직이고 안의 .. 2024. 4. 15.
자릿수 더하기 첫번째 코드 먼저 붙어있는 숫자를 나누는 방법이 어떤게 있을까 고민했다 문자열의 경우에는 "hello"에서 h, e, l, l, o 순서로 가져와지니까 숫자를 문자로 바꾼후에 각각 불러오면서 int()함수를 이용해서 숫자로 다시 바꿔서 더해가자! def solution(n): number = str(n) answer = 0 for i in number: answer += int(i) return answer 통과! 굳굳 링크 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/1/12931.%E2%80%85%EC%9E%90%EB%A6%BF%EC%88%98%E2%80%85%EB.. 2024. 4. 15.
이진 변환 반복하기 첫번째 코드 해당 문제를 보고 문자열을 다루는 방법과 while, for, if문을 잘 사용하면 되겠다 라는 아이디어로 출발했다. 근데 문제는 이진 변환을 하는 방법이었다;;; 방법을 몰라서.. 그래서 GPT에게 물어본 결과 bin()함수라는 이진 변환을 바로 해주는 코드가 있었다. bin()함수의 결과를 확인하기 위해 디버깅을 사용했는데, 해당 함수는 일반 문자열과 다르게 앞에 "0b"라는 문자열이 추가되어 이진 변환이 되었음을 표현하고 있었다. 그렇기 때문에 '1'이 될 때까지 문자열을 반복하기 위해서는 앞에 "0b"문자열을 제거해야 하므로 [2:]가 필요한 것을 알았다 def solution(s): answer = [] zero = 0 count = 0 while s != '1': one_index.. 2024. 4. 14.
728x90