728x90
⬛ 프로그래머스 (카카오) | LV.1 숫자 문자열과 영단어 - 구현 문풀 (Java)https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr💚문제 접근 방식주어진 문자열에 존재하는 ‘영단어’ 문자열을 replace로 숫자값을 대체한 뒤, 마지막에 int형으로 변환시켜서 반환하면 되는 문제이다. 1) List상에 String 타입으로 zero~nine 까지 차례로 담는다.2) for문 돌면서 해당 String 숫자문자열에 대한 치환을 시도하는데 치환 대상..
⬛ 프로그래머스 | LV.2 2개 이하로 다른 비트 - 구현 문풀 (Java)https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 💚문제 접근 방식처음에 든 풀이법은 while 문으로 주어진 배열 값 각각을 1씩 증가시켜 비트와 주어진 수를 비교하다가 다른 비트가 2개 이하면 break; 걸어주어서 개수를 리턴하는 단순한 방식이었다. 그런데 이 방식은 시간초과가 난다. 제한사항에서 numbers의 모든 수가 10^15이하이기 때문에 더 효율적인 풀이 ..
⬛ 프로그래머스 | LV.3 업그레이드 할 수 없는 아이템 구하기 (MySQL)https://school.programmers.co.kr/learn/courses/30/lessons/273712 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr💚문제 접근 방식ITEM_INFO와 ITEM_TREE 두 개의 테이블이 있는데, ITEM_TREE 상의 PARENT_ID에서 NULL이 아니면서, 해당하는 부모가 되는 애들을 제외 (NOT IN)한 ITEM_ID를 구하면 ‘업그레이드 할 수 없는’ 아이템을 뽑아내게 된다. 1) 서브쿼리로 PARENT_ITEM_ID가 NU..
⬛ 프로그래머스 (카카오) | LV.2 메뉴 리뉴얼 - DFS (Java)https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr💚문제 접근 방식내 생각으로는 각 orders의 문자열에 대해서 course 개수만큼 nCr 조합을 구성해서 그 구성의 개수를 Map으로 카운팅하면서 구현하면 될 거라고 생각했다.char[] 배열로 매번 lv 깊이의 인덱스에 선택한 문자를 담도록 구성했는데, 중복없이 구현하기 위해 start 인덱스도 매번 DFS에 주도록하여 중..
⬛ 프로그래머스 (Summer/Winter) | LV.2 스킬트리 - 구현 문풀 (Java)https://school.programmers.co.kr/learn/courses/30/lessons/49993#fnref1 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr💚문제 접근 방식선행 스킬 순서를 지킨 스킬트리 내의 문자열 개수를 구하는 문제이다.일단 skill_trees 내부에 선행 스킬에 있는 문자만 이어붙이도록 했다. (나중에 찾아보니 이 부분을 replace로 대체해서 하는 방법도 있었다. 나의 경우는 skill 길이가 26까지니까 그냥 이어붙임) ..
⬛ 프로그래머스 | LV.2 택배상자 - Stack & 구현 문풀 (Java)https://school.programmers.co.kr/learn/courses/30/lessons/131704 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr💚문제 접근 방식문제를 읽어보면 보조 컨테이너 설명이 스택과 유사하다. 스택을 활용하여 처리를 해야 된다.컨테이너는 순차적으로 들어올 건데, 정해진 순서의 값과 같은지 다른지에 따라 다르게 처리해야 한다. 맨 처음에 제출했을 때 4) 에서 처리해주는 while 문에 대한 처리 없이 매번 현재 box번호와 order 상의 번..
⬛ 프로그래머스 | LV.2 구명보트 - 그리디 문풀 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 예전에 풀었던 문제를 다시 풀게 됐다. 프로그래머스 | LV.2 구명보트 - 그리디 문풀 (Java) 프로그래머스 | LV.2 구명보트 (그리디) https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포..
⬛ 프로그래머스 | LV.2 조이스틱 - 구현 문풀 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/42860# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 어려웠다. 이 문제는 커서를 제대로 움직이는 게 핵심이다. 최소 조작 횟수를 만드는 핵심은 (1) ['A' ~ 글자] vs [글자 ~ 'Z] 사이의 거리를 비교하여 각 글자에 대한 최소 조작을 하는 것이고, (2) 최소 조작을 위해 처리할 글자에 대한 커서 조작을 최소로 하는 것이 중요하다. 처음에는 ‘커서’ 조작..
⬛ 프로그래머스 | LV.3 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (MySQL) https://school.programmers.co.kr/learn/courses/30/lessons/151139 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 월별, CAR_ID 별 GOUP BY를 써야 했는데, 중첩 쿼리문을 작성하여 COUNT가 5이상인 애들의 CAR_ID를 먼저 뽑고 그 ID에 해당하는 ID에 대해서 그룹별 SELECT를 해야 하는 문제였다. 개인적으로 조금 까다롭게 느껴졌고 참고해서 풀었다. 💚 제출 코드 -- 코드를..
⬛ 프로그래머스 | LV.2 124 나라의 숫자 - 구현 문풀 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💚문제 접근 방식 이런 문제가 어렵다 … 당연히 규칙성 있을 거라 생각했고 데이터 크기가 매우 크기때문에 효율성도 생각해줘야 되는 문제이다. 일단 처음 든 생각은 ( 1, 2, 4 ) 3가지가 반복되기 때문에 3으로 값을 나눠야 한다는 것 ? 그런데 문제는 반복이 되더라도 각 자릿수를 어떻게 특정할지.. 몫을 나눈다고 하더..
⬛ 프로그래머스 | 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 [프로그래머스] 줄 서는 ..