728x90
⬛ 프로그래머스 | LV.2 더 맵게 - 구현 문풀 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 가장 처음에는 scoville[] 배열 안에서 K보다 작은 값들만 뽑아서 처리하면 된다고 생각했고, 매번 가장 작은 값과 가장 큰 값을 섞는 게 최선이라 생각했다. 하지만 둘 다 아니었다. 아마도 생각하건데, 작은값들끼리만 계산하는 것은 그 값이 1개일 때 무조건 불가능하다고 처리될텐데 모든 음식을 섞을 수 있기 때..
⬛ 프로그래머스 | LV.3 물고기 종류 별 대어 찾기 (MySQL) https://school.programmers.co.kr/learn/courses/30/lessons/293261 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 주의할 점은 FISH_INFO와 FISH_NAME_INFO를 TYPE 기준으로 조인을 하는데 그 중에서도 WHERE 절로 GROUP별 MAX (LENGTH)를 갖는 TYPE으로 제한을 두고 들고오는 것이다. GROUP HAVING 절로 MAX를 갖는 애를 추려내는 부분이 좀 까다로웠다. 💚 제출 코드 -- 코..
⬛ 프로그래머스 | LV.2 줄 서는 방법 - 구현 문풀 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/12936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 진짜 이해하기도 어려웠다. 처음에 제한 사항에서 k 가 팩토리얼만큼 들어온다는 것을 못보고 단순히 DFS 탐색을 시도했는데 시간 초과가 뜨는… ㅠㅠ 효율적인 풀이를 찾아도 이해가 안돼서 오랫동안 보고 이해한 토대로 정리 했다. https://void2017.tistory.com/136 [프로그래머스] 줄 서는 ..
⬛ 프로그래머스 | LV.2 다리를 지나는 트럭 - 구현 문풀 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 문제 설명이 애매해서 어떻게 푸는 것인지 이해가 안됐다. bridge_length 길이를 주는 이유는 매초마다 그 다리 길이만큼 (& weight 초과않는 선에서) 통과해야 다리를 지나갈 수 있기 때문이었다. 그래도 문제만 읽고 유추하기 어려웠다 1) 일단 int[] bridge를 매개변수로 주어진 다리 ..
⬛ 프로그래머스 | LV.2 과제 진행하기 - 구현 문풀 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 고려해야 할 조건이 까다로워서 구현 과정이 어려웠다. 일단 Work 클래스 선언해서 st 시작 시간 기준으로 오름차순 정렬할 생각을 했고 pQ에다가 담아서 활용했고, Stack활용해서 최근 멈춘 과제 담는 용도로 썼다. 중간 중간 구현이 막히니 머리가 복잡해서 다른 분들 코드도 참고했다. 1) 과제 시작 시간..
⬛ 프로그래머스 | LV.2 의상 - 구현 문풀 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 예전에 풀었던 문제를 다시 풀게 됐다. 이 문제의 경우 경우의 수로 생각해서 풀었다. 종류별로 겹칠 수는 없기 때문에 HashMap에 담아 종류별 카운팅을 먼저 진행했다. 그리고 해당 종류중에 1개를 뽑아 입거나 or 안입거나 의 케이스가 있기 때문에 그 케이스를 모두 고려해주어야 한다. (종류 + 1) X (종류 + ..
⬛ 백준 3190번. 뱀 - BFS & 구현 문풀 (java) https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임은 NxN 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있다. 보드의 상하좌우 끝에 벽이 있다. 게임이 시작할때 뱀은 맨위 맨좌측에 위..
⬛ 프로그래머스 | LV.2 점 찍기 - 구현 문풀 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/140107 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 일단 데이터 크기가 k와 d 모두 100만까지 들어오기 때문에 이중for문으로 돌면 시간초과가 뜬다. 1번의 for문 순회에서 모든 계산이 끝나야 하기 때문에 좌표 하나는 고정시켜두고 그에 대해 가능한 좌표개수를 카운팅하는 게 효율적인 처리다. x든 y든 for문으로 가능한 값 순회하여 값 고정시켜두고, d 이하의..
⬛ 프로그래머스 | LV.2 3월에 태어난 여성 회원 목록 출력하기 (MySQL) https://school.programmers.co.kr/learn/courses/30/lessons/131120 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 문제가 요구한 대로 출력하면 된다. DATE_FORMAT()으로 형식 변환을 하지 않으면 초까지 그대로 출력 되기 때문에 출력하고자 하는 형식대로 변환을 해줘야 하고, 전화번호 null인 경우는 출력 대상 제외이므로 이 조건도 WHERE 조건에 추가해야 한다. 💚 제출 코드 -- 코드를 입력하세요..
⬛ 프로그래머스 | LV.2 호텔 대실 - 구현 문풀 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 1) Room 클래스 선언하여 st 기준 오름차순 우선 정렬하도록 정의한다. 2) 정렬된 RoomList 에서 visited로 체크하면서 매번 현재 room의 ed + 10 보다 st시간이 크거나 같은 room을 발견할 때마다 visit 체크 후 갱신해주면서 처리하면 된다. 3) 이럴 경우 answer는 해당 룸..
⬛ 프로그래머스 | LV.2 테이블 해시 함수 - 구현 문풀 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/147354 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 처음에는 문제가 무슨 말인지 이해가 도통 안됐었다 .. 그러니까 테이블 상에 행 단위로 데이터가 들어올 건데, 입력된 col번째 값 기준으로 오름차순 정렬하되, col번째 값이 같은 경우 첫 번째 값 기준으로 내림차순 정렬을 하고, 정렬된 상태에서는 입력된 row_begin~ed 범위의 데이터에 한해 XO..
⬛ 프로그래머스 | LV.2 배달 - 다익스트라 문풀 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/12978 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 문제를 읽으면서 다익스트라 문제라고 판단했다. 시작점은 1번 정점으로 항상 고정되어 있고, 다른 모든 정점으로의 최단거리로 배달했을 때 그 거리가 K이하인 경우 배달 가능으로 판단하여 개수를 리턴하라는 문제이다. 1) Edge 클래스, distance[] 배열, graph 리스트를 선언했다. 2) road 2차원 ..
⬛ 프로그래머스 | LV.2 하노이의 탑 - 재귀 문풀 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/12946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 규칙성을 찾아야지 생각은 했지만 재귀로 푸는 거라고는 생각을 못했다… ㅎ 🎈재귀인 이유 A 기둥에 있는 탑을 1개씩 (큰거 위에 작은 거)를 순서대로 옮길 거다. 임시 기둥이 B이고 목표 기둥이 C라고 했을 때 필연적으로 다음의 과정을 거친다. 몇번을 반복할지는 모르지만 n개의 탑이 존재한다고 헀을 때 A → B..