분류 전체보기

    [입문] 프로젝트 환경설정

    프로젝트 생성 1. java 11버전을 다운받는다 2. 환경변수 설정해준다 (JAVA_HOME, CLASSPATH, PATH) 3. intellij 학생라이센스로 다운받기 4. Spring Initializr 에서 프로젝트 설정 (여기선 thymleft랑 web 디펜던시 추가) 라이브러리 요새는 라이브러리 빌드해서 웹서버에 올리면 끝이다 임베디드라고한다 System.out.println() ㄴㄴ 로그로 남겨야 에러를 따로 볼 수 있음 slf4j + logback 조합 많이 써서 스프링부트에 포함됨 View 환경설정 웹 브라우저 -> 톰캣 내장 서버 -> 스프링 컨테이너(모델 리턴) -> View Resolver -> ~.html 변환 후 브라우저에 반환 빌드하고 실행하기 윈도우는 꼬옥 gradlew bu..

    [프로그래머스] 2021 카카오 메뉴 리뉴얼

    https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 풀이 되게 비효율적인 전탐색 방법 밖에 떠오르지 않았다. 파이썬 모듈을 잘 모르다 보니 분명 내가 생각하는 조합 방법이 하드코딩일 것 같았다. 백퍼 이런 기능을 제공해주는 모듈이 있을 것 같았다. 어떤 모듈을 사용하는지 검색해 참고해보았다. 풀이는 덜 보려고 노력함 ( https://dev-note-97.tistory.com/128 ) from itertools ..

    [프로그래머스] 2021 카카오 신규 아이디

    https://programmers.co.kr/learn/courses/30/lessons/72410 풀이 정말 명세서 혹은 기획서와 유사하게 조건이 주어지고 조건에 맞게 코딩하는 문제였다 파이썬이 익숙치 않아 검색을 좀 했다 1. 소문자로 변경 https://blockdmask.tistory.com/416 2. 반복문을 돌며 제거하는 방법 https://devpouch.tistory.com/110 3. 스트링을 리스트로 https://codechacha.com/ko/python-convert-string-to-char-list/ 4. 리스트가 비었는지 확인 https://hashcode.co.kr/questions/22/%EB%B9%88-%EB%A6%AC%EC%8A%A4%ED%8A%B8%EB%A5%BC..

    [프로그래머스] 그래프 2. 순위

    문제 풀이 혼자 여러 방법으로 고민해보다가 아무래도 정답인 것 같은 방법이 생각나지 않아 검색해보았다. ( https://roomedia.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%88%9C%EC%9C%84-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B7%B8%EB%9E%98%ED%94%84-Floyd-Warshall-Level3 ) 플루이드 와샬 알고리즘을 적용하는 문제라고 하는 부분까지 보고 아래와 같이 로직을 생각해 보았다. 한 점에서 다른 점까지의 거리를 점을 기준으로 계산하는 알고리즘이다. O(n^3)이다. ( https://blog.naver.com/ndb796/221234427842 ..

    [프로그래머스] 동적계획법 2. 정수 삼각형

    문제 풀이 1. 각 노드까지의 최댓값을 저장 2. 맨 아래 줄까지 반복 3. 맨 아래 줄 중 가장 큰 값 반환 def solution(triangle): for i in range(len(triangle) - 1): for j in range(len(triangle[i+1])): if j == 0: # 각 줄의 첫 번째 노드인 경우 오른쪽 부모의 값만 더함 triangle[i+1][j] = triangle[i][j] + triangle[i+1][j] continue; if j == len(triangle[i+1]) - 1: # 각 줄의 마지막 노드인 경우 왼쪽 부모의 값만 더함 triangle[i+1][j] = triangle[i][j-1] + triangle[i+1][j] continue; #중간 노드..

    에러 메모

    1 번 에러 error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your a pp with Xcode.app, by opening AwesomeProject.xcodeproj ... The following build commands failed: CopyPNGFile /Users/hal-ang/Library/Developer/Xcode/DerivedData/FrontEnd-eyzlkxlamamfgghkofgtujnedpyp/Build/Products/Debug-iphonesimulator/FrontE..

    [프로그래머스] 그래프 1. 가장 먼 노드

    풀이 드디어 그래프‼️‼️ 어떻게 구현하는건지 하나도 기억 안 나서 먼저 검색을 좀 했다. 인접리스트 혹은 인접행렬을 사용하는 듯 했다. (https://hsc-tech.tistory.com/12) 인접리스트(graph) 1 -> 2 -> 3 2 -> 1 -> 4 -> 3 -> 5 3 -> 6 -> 2 -> 4 -> 1 4 -> 2 -> 3 5 -> 2 6 -> 3 visited 1 2 3 4 5 6 # 노드 번호 0 1 1 2 2 x # 노드에 방문하기까지의 간선 개수 q 6 # 노드 번호 2 # 노드에 방문하기까지의 간선 개수 인접리스트로 BFS를 구현하기로 했다. BFS 가 최단경로를 보장하기 때문이다. 헷갈려서 메모해봤다. 위의 메모는 6말고 모든 노드를 돌았을 때의 상태이다. 처음엔 노드의 번호..

    [프로그래머스] 해시 2. 디스크 컨트롤러

    https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 풀이 힙이 뭔지 그새 또 까먹어서 지난번 힙 문제를 보고왔다. 힙은 완전이진트리의 일종으로 최댓값, 최솟값을 추출하기 쉬운 자료구조였다. 포기한 방법들.. max(0, 요청 시간 - 현재 시간 curTime) + 소요 시간 을 key로 갖는 최소 heap을 만든다 -> 현재 시간이 계속 바뀌니 문제가 될 것 같아서 포기 힙을 만드는 대신 min으로 위의 과..