본문 바로가기

Algorithm

(175)
[SWEA] D5. 최적 경로 https://swexpertacademy.com/main/talk/solvingClub/problemView.do?solveclubId=AYUu1hG6O44DFARs&contestProbId=AV15OZ4qAPICFAYD&probBoxId=AYUyLcVaojsDFARs&type=PROBLEM&problemBoxTitle=%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98+Track+%28%EB%82%9C%EC%9D%B4%EB%8F%84+%EC%83%81%29&problemBoxCnt=6 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 해결방법 가지치기를 하면 좋지만 아직 실력이 부족해서 모..
[SWEA] D4. 미로1 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14vXUqAGMCFAYD&categoryId=AV14vXUqAGMCFAYD&categoryType=CODE&problemTitle=%EB%AF%B8%EB%A1%9C&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 해결방법 전형적인 BFS문제이다. 1. 방문체크 2차원 배열과 동서남북 이동 리스트를 생성. 2. 출발지점이 다를..
[SWEA] D4. 보급로 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD&categoryId=AV15QRX6APsCFAYD&categoryType=CODE&problemTitle=%EB%B3%B4%EA%B8%89%EB%A1%9C&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 해결방법 BFS 1. 모든 경로를 탐색해야하기도 하고, 첫 목적지 까지 계산하고 BFS를 통해 차..
[SWEA] D4. 준환이의 양팔저울 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWAe7XSKfUUDFAUw&categoryId=AWAe7XSKfUUDFAUw&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 해결방법 완전 탐색 DFS로 해결해야하는 것은 금방 눈치챘다. 무게 추가 순서에 맞게 가지는 경우를 리스트로 구하고, 왼쪽과 오른쪽 무게 추를 비교해서 나온 경우의 수를 answer에 +1한다. 하지만, 최대한의 가지치기를 했음에도 21게 테스트 중에 고작 1개의 케이스에서 시간초과가 걸렸다. 순열 부분을 per..
[2018 KAKAO BLIND RECRUITMENT] [3차] 압축 https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 해결방법 생각보다 헤맸던 문제이다. 2시간 정도 걸렸다;; 처음 접근하는 방법이 중요하다. 다른 방법으로 시도한 끝에 결국 딕셔너리를 이용하는게 맞다고 판단이 되어서 딕셔너리를 사용하였다. 1. msg 문자열의 각 알파벳의 아스키코드 값을 dict라는 딕셔너리에 저장한다. 2. left와 right을 두어서 각 문자열이 dict에 있는지 없는지 판단해야한다. (w, c) 3. w와 c를 구해..
[SQL] 그룹별 조건에 맞는 식당 목록 출력하기 https://school.programmers.co.kr/learn/courses/30/lessons/131124 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 해결방법 1. 두 테이블을 JOIN한다. 2. REST_REVIEW 테이블에서 group by 명령어로 MEMBER_ID를 그룹화 한다. 3. MEMBER_ID을 Count로 개수를 구하고, 내림차순에 limit 1로 가장 큰 값을 구한다. 4. 조건에 맞게 정렬. 2. 정답코드 select A.MEMBER_NAME, B.REVIEW_TEXT, DATE_FORMAT(B.REVIEW_DATE..
[SQL] 보호소에서 중성화한 동물 https://school.programmers.co.kr/learn/courses/30/lessons/59045 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 해결방법 1. 보호소를 나간 애완동물을 기준이기 때문에 OUTS을 기준으로 INS를 left outer join한다. 2. 보호소에 왔을 때는 중성화가 아니지만 나갈 때는 중성화가 된 상태여야한다. -> 즉, INS의 중성화 데이터와 OUTS의 중성화 데이터가 다르다면 그 애완동물은 보호소에서 중성화 수술을 한 동물이 된다. 3. 동물 번호 기준으로 오름차순. 2. 정답코드 select OU..
[SQL] 없어진 기록 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/59042 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 해결방법 1. ANIMAL_OUTS을 기준으로 ANIMAL_INS테이블을 left outer join을 한다. -> 입양을 간 기록을 찾기 때문 2. ANIMAL_ID가 같은 값이 ANIMAL_INS 테이블에 존재하지 않는다면, NULL 값으로 연결 3. 이를 통해, ANIMAL_OUTS 에는 있지만 ANIMAL_INS에는 없는 ANIMAL_ID 의 값을 조회할 수 있게 됩니다. 2. 정답코..