오히려 좋아..

상황이 나쁘게만 흘러가는 것 같을 때 외쳐보자.. .

궁금한 마음으로 포트폴리오 보기

Algorithm/프로그래머스 17

[프로그래머스, 2021 카카오 인턴쉽] 미로 탈출

2021.07.13 - [Algorithm/프로그래머스] - [프로그래머스, 2021 카카오 인턴쉽] 표 편집 python 2021.07.13 - [Algorithm/프로그래머스] - [프로그래머스, 2021 카카오 인턴쉽] 거리두기 확인하기 python https://programmers.co.kr/learn/courses/30/lessons/81304 코딩테스트 연습 - 미로 탈출 4 1 4 [[1, 2, 1], [3, 2, 1], [2, 4, 1]] [2, 3] 4 programmers.co.kr 미친 문제.. 애초에 못 풀었을 기본은 다익스트라로 시작점으로부터 도착점까지 최단거리를 찾는 문제지만 함정 방문 여부에 따라 달라지는 경우의 수를 구분해야하는 문제이다. 그래프 탐색 방법에는 매번 두 종류..

[프로그래머스] SQL 입양시간 구하기(2)

입양 시간 구하기(2) 지역 변수 선언으로 해결할 수 있다. SET @HOUR = -1; SELECT (@HOUR := @HOUR + 1) HOUR, ( SELECT COUNT(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) = @HOUR ) COUNT FROM ANIMAL_OUTS WHERE @HOUR < 23 없어진 기록 찾기 SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS as OUTS LEFT OUTER JOIN ANIMAL_INS as INS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE INS.ANIMAL_ID IS NULL;

[프로그래머스, 2021 카카오 인턴쉽] 표 편집 python

https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 1. 해결 방법 일반적인 리스트로 구현하면 효율성 문제를 통과하지 못한다. 따라서 딕셔너리를 통해 더블 링크드 리스트를 구현해줘야한다. 더블 링크드 리스트는 현재 노드의 값과 전후 정보를 갖고 있는 자료구조이다. 주의해서 봐야할 점은 명령어 Z와 명령어 C에서 연결 정보를 업데이트하는 방식을 주의해서 보길 바란다..

[프로그래머스, 2021 카카오 인턴쉽] 거리두기 확인하기 python

https://programmers.co.kr/learn/courses/30/lessons/81302?language=python3 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 1. 해설 아래와 같은 로직을 구현하면 된다. 1. 지원자들..

[프로그래머스] 광고 삽입 python (2021 Kakao Blind Test)

https://programmers.co.kr/learn/courses/30/lessons/72414 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr from datetime import datetime, timedelta def str2sec(string): """ 시간 문자열을 초로 바꿔서 int로 반환 """ hour, min, sec = map(int, string.split(':')) return hour * 3600 + min ..

프로그래머스 동굴 탐험 python

https://programmers.co.kr/learn/courses/30/lessons/67260 코딩테스트 연습 - 동굴 탐험 9 [[0,1],[0,3],[0,7],[8,1],[3,6],[1,2],[4,7],[7,5]] [[8,5],[6,7],[4,1]] true 9 [[8,1],[0,1],[1,2],[0,7],[4,7],[0,3],[7,5],[3,6]] [[4,1],[5,2]] true 9 [[0,1],[0,3],[0,7],[8,1],[3,6],[1,2],[4,7],[7,5]] [[4,1],[8,7],[6,5]] false programmers.co.kr 1. 해결 방법 DFS에 방문순서가 정해져있는 경우가 합쳐져 있는 경우이다. 카카오 인턴쉽 해설을 보고 풀 수 있었다. tech.kakao.co..

프로그래머스 트리 트리오 python

https://programmers.co.kr/learn/courses/30/lessons/68937?language=python3 코딩테스트 연습 - 트리 트리오 중간값 5 [[1,5],[2,5],[3,5],[4,5]] 2 programmers.co.kr 1. 문제 설명 n개의 점으로 이루어진 트리가 있습니다. 이때, 트리 상에서 다음과 같은 것들을 정의합니다. 어떤 두 점 사이의 거리는, 두 점을 잇는 경로 상 간선의 개수로 정의합니다. 임의의 3개의 점 a, b, c에 대한 함수 f(a, b, c)의 값을 a와 b 사이의 거리, b와 c 사이의 거리, c와 a 사이의 거리, 3개 값의 중간값으로 정의합니다. 트리의 정점의 개수 n과 트리의 간선을 나타내는 2차원 정수 배열 edges가 매개변수로 주..

[programmers] 다단계 칫솔 판매 python

https://programmers.co.kr/learn/courses/30/lessons/77486 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr 1. 해결 방법 맨처음에는 재귀로 풀어보려고 했지만 테스트케이스는 다 통과 했지만 실제로 코드를 제출했을 때는 케이스 한개를 제외하곤 맞추지 못했다. 그 이유는 root로 부터 내려가면서 가장 끝 leaf에 도달했을 때 현재 가격을 90%로 만들고 10%를 반환하는 형태로 구현했다. 하지만 이런식으로 구현하면 자식 노드들의 값을 모두 더한 상태에서 10%를..

[프로그래머스] 카드짝 맞추기 파이썬

카드 짝 맞추기 programmers.co.kr/learn/courses/30/lessons/72415 코딩테스트 연습 - 카드 짝 맞추기 [[1,0,0,3],[2,0,0,0],[0,0,0,2],[3,0,1,0]] 1 0 14 [[3,0,0,2],[0,0,1,0],[0,1,0,0],[2,0,0,3]] 0 1 16 programmers.co.kr 1. 문제 설명 게임 개발자인 베로니는 개발 연습을 위해 다음과 같은 간단한 카드 짝맞추기 보드 게임을 개발해 보려고 합니다. 게임이 시작되면 화면에는 카드 16장이 뒷면을 위로하여 4 x 4 크기의 격자 형태로 표시되어 있습니다. 각 카드의 앞면에는 카카오프렌즈 캐릭터 그림이 그려져 있으며, 8가지의 캐릭터 그림이 그려진 카드가 각기 2장씩 화면에 무작위로 배치..

[프로그래머스] 자물쇠와 열쇠 python

1. 문제 설명 고고학자인 "튜브"는 고대 유적지에서 보물과 유적이 가득할 것으로 추정되는 비밀의 문을 발견하였습니다. 그런데 문을 열려고 살펴보니 특이한 형태의 자물쇠로 잠겨 있었고 문 앞에는 특이한 형태의 열쇠와 함께 자물쇠를 푸는 방법에 대해 다음과 같이 설명해 주는 종이가 발견되었습니다. 잠겨있는 자물쇠는 격자 한 칸의 크기가 1 x 1인 N x N 크기의 정사각 격자 형태이고 특이한 모양의 열쇠는 M x M 크기인 정사각 격자 형태로 되어 있습니다. 자물쇠에는 홈이 파여 있고 열쇠 또한 홈과 돌기 부분이 있습니다. 열쇠는 회전과 이동이 가능하며 열쇠의 돌기 부분을 자물쇠의 홈 부분에 딱 맞게 채우면 자물쇠가 열리게 되는 구조입니다. 자물쇠 영역을 벗어난 부분에 있는 열쇠의 홈과 돌기는 자물쇠를 ..