본문 바로가기

개발일지/TIL

(101)
TIL 23-06-07 링크드 리스트 1. 알고리즘 공부하기 - 링크드 리스트 문제점 알고리즘 문제를 푸는 중 이론의 필요성을 크게 체감함 시도해 본 것들 미뤄뒀던 알고리즘 강의 듣기 알게 된 점 python의 list는 array로 이루어졌지만, 동적 배열이라는 방식을 통해서 데이터를 추가하는 경우에도 시간 복잡도가 O(1)이 가능하도록 만들어져있다.
TIL 23-06-06 백준 - 3의 배수 1. 백준 - 3의 배수 문제점 https://www.acmicpc.net/problem/1769 시도해 본 것들 X = [int(n) for n in input()] COUNT = 0 while len(X) > 1: X = [int(n) for n in str(sum(X))] COUNT += 1 print(COUNT) print("YES" if X[0] % 3 == 0 else "NO") 해결 방법 X = input() COUNT = 0 while len(X) > 1: X = str(sum([int(y) for y in X])) COUNT += 1 print(COUNT, "YES" if int(X) % 3 == 0 else "NO", sep="\n") 188ms X = input() COUNT = 0 ..
TIL 23-06-05 최종 팀 프로젝트 시작 https://sdoram.tistory.com/175 최종 팀 프로젝트 S.A. https://lofty-wallaby-678.notion.site/S-A-d04b7899646e45e59da17fbec7cdacfb?pvs=4 지금은 전시상황!💥 S.A OutLine lofty-wallaby-678.notion.site sdoram.tistory.com 최종 프로젝트를 시작하고 내일 피드백을 많이 받을 수 있도록 하기 위해서 최대한 열심히 작성했다.
TIL 23-06-04 백준 - 키보드 이벤트 1. 백준 - 키보드 이벤트 문제점 https://www.acmicpc.net/problem/17254 시도해 본 것들 N, M = 3, 5 input_list = [ ["1", "0", "A"], ["2", "1", "P"], ["1", "2", "L"], ["2", "4", "E"], ["3", "0", "P"], ] sorted_list1 = sorted(input_list, key=lambda x: int(x[0])) print(sorted_list1) sorted_list2 = sorted(input_list, key=lambda x: int(x[1])) print(sorted_list2) print(''.join([x[2] for x in sorted_list2])) 숫자와 영어가 섞인 inp..
TIL 23-06-02 Linux vi 편집기 명령어 1. Linux vi 편집기 명령어 문제점 touch, mkdir, rm정도는 bash를 통해서 의식적으로 사용했으나, vi편집기 관련 명령어를 기본적인 편집모드와 저장과 관련된 명령어만 알고 있음 시도해 본 것들 vi편집기를 사용하다 잘못 지웠지만, 내용이 기억이 나지 않으면 :q!로 나간 뒤 다시 vi편집기 실행 해결 방법 vi 편집기 명령어 a 한 칸 오른쪽으로 커서 이동 후 편집모드 i 현재 커서에서 편집 모드 o 개행 후 아래에서 편집 모드 O 개행 후 위에서 편집 모드 A 맨 끝에서 편집 모드 u ≒ ctrl + z ctrl + r ≒ ctrl + y G ≒ ctrl + home gg ≒ ctrl + end n에 숫자 입력시 여러줄 잘라내기, 복사 가능 n dd 잘라내기 n yy 복사 p 붙여..
TIL 23-06-01 git rebase drop 해보기 1. git rebase drop 해보기 문제점 과거 rebase 사용 중 문제가 발생했을 때 squash를 통해서 log를 합치면서 로그는 줄였지만, 변경사항은 제거하지 못한 경우 발생 시도해 본 것들 변경 전 log commit 649f6a86c54dc2bb71d0628432434dc4b61b82a0 (HEAD -> master) Author: Seman_Kim Date: Thu Jun 1 20:10:05 2023 +0900 git rebase 테스트 commit 02058c38b927bfb9c6c770b91295357ca2ce9034 Author: Seman_Kim Date: Thu Jun 1 20:09:33 2023 +0900 test commit 123 commit 749cc38dc4e82268..
TIL 23-05-31 백준 - 기타줄 1. 백준 - 기타줄 문제점 https://www.acmicpc.net/problem/1049 시도해 본 것들 최솟값 구하기 N, M = map(int, input().split()) min_package = 1000 min_single = 1000 for _ in range(M): package, single = map(int, input().split()) min_package = min(min_package, package) min_single = min(min_single, single) 주어지는 수의 범위가 최대 1000으로 제시되었으므로 초기 값을 1000으로 시작하면 min으로 걸러낼 수 있다. 정답 출력하기 I, J = divmod(N, 6) # 개별 단가가 더 싼경우 if min_pack..
TIL 23-05-30 백준 - 폴리오미노 1.백준 - 폴리오미노(그리디 알고리즘) git issue사용하기 문제점 https://www.acmicpc.net/problem/1343 시도해 본 것들 BOARD = input() A, B = "AAAA", "BB" ANSWER = BOARD.replace("XXXX", A).replace("XX", B) if "X" not in ANSWER: print(ANSWER) else: print(-1) 문제 자체는 어렵지 않게 해결할 수 있었다. 문제를 해결하고서 카테고리를 확인하니 그리디 알고리즘으로 되어있었다. 그리디 알고리즘은 주어진 상황에서 최적의 결과를 고르는 행동을 반복하는 것으로 최종 결과물이 무조건 효율적이지는 않지만, 알고리즘의 구조가 어렵지 않다는 장점이 있는 것 같다. https://g..