목록프로그래머스 (105)
Welcome! Everything is fine.
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 풀이 - replaceAll() 활용babbling 배열에서 머쓱이의 조카가 발음할 수 있는 단어의 개수를 반환하는 문제였다. 네 가지 발음을 조합해서 만들 수 있는 발음을 할 수 있다는 조건은 쉬웠지만 연속해서 같은 발음을 하지 못한다는 조건을 보고 고민에 빠졌다. 다시 생각해보니 "aya", "ye", "woo", "ma" 네 가지 발음을 먼저 지우고 연속된걸 지우려고 해서 답이 나오지 않았던 것..🙄 먼저 연속되는 발음을 공백으로 처리한 뒤(공백이 아니어도 됨, 그저 비어있는 문자열이 아니..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 풀이이번 문제는 게임에서 실패율이 높은 스테이지부터 내림차순 정렬해 반환하는 문제이다. 실패율은 도전한 사용자의 수 / 아직 클리어하지 못한 사용자의 수이다. 각각의 실패율만 구하고 실패율 순으로 정렬을 하지 못해 틀렸던 문제... 전체적인 코드의 흐름은 다음과 같다.각 스테이지별 도전한 사용자 수와 해당 스테이지를 클리어하지 못한 사용자의 수를 구한다.HashMap에 스테이지와 실패율을 계산해 저장한다.실패율을 기준으로 내림차순 정렬한다.먼저 다음과 같이 각 스테이지별 도전한 사용자 수를 succ..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 풀이스택으로 쉽게 풀 수 있었던 문제지만 stack.get()으로도 스택에 있는 값을 확인할 수 있다는 걸 몰라서 헤맸다(...)풀이 과정을 간단하게 설명하면 다음과 같다.스택을 선언한다.ingredient 배열을 돌면서 요소를 스택에 저장한다.스택의 길이가 4 이상이 될 경우스택의 마지막 요소가 1이고, 그 다음 요소가 3, 그다음 요소가 2, 마지막에서 4번째 요소가 1일 경우, 빵 - 야채 - 고기 - 빵 순서이므로 4개를 모두 꺼낸다.햄버거의 개수 answer를 1 증가시킨다.for (in..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 두 개의 테이블에 공통으로 있는 BOARD_ID를 기준으로 조인하고, 문제에 있는 컬럼을 출력하면 되는 기본적인 문제였다. 주의할 점은 DATE_FORMAT()을 이용해 예시의 포맷과 일치하도록 해야한다는 점, WHERE절에서 2022년 10월에 작성된 게시글만 필터링해야한다는 점 등이 있었다. 이 부분은 다른 문제에서도 반복적으로 나왔기 때문에 큰 어려움은 없었다. SELECT B.TITLE, B.BOARD_ID, R.REPLY_ID, R.WRITER_ID, R.CONTENTS , DATE..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 물고기가 10cm 이하일 경우 NULL이므로, NULL을 제외한 물고기의 ID와 LENGTH를 구하면 된다. 10마리까지 출력해야하기 때문에 LIMIT을 이용했다. SELECT ID, LENGTH FROM FISH_INFO WHERE LENGTH IS NOT NULL ORDER BY LENGTH DESC, ID LIMIT 10
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌풀이 어렵게 생각하려니 더 안풀렸던 문제. 그냥 단순하게 생각하면 간단하다. 시작 영역을 start에 저장하고 칠한 횟수를 1 증가시킨다. section 배열을 돈다. start + 롤러의 길이가 section의 요소보다 작을 경우 그냥 넘어간다. start + 롤러의 길이가 section의 요소보다 클 경우 start의 값을 해당 section으로 이동시키고 칠한 횟수를 1 증가 시킨다. 📌 전체 코드 class Solution { public int solution(int n, int m, in..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 풀이키패드 간 거리를 구하는 방법과 *, 0, #을 처리하는 방법을 몰라 답을 보고 푼 문제이다. 먼저 *, 0, #은 다음과 같이 차례대로 10, 11, 12로 설정한 후 문제를 푼다.123456789*(10)0(11)#(12)numbers 배열을 돌면서 순서대로 번호를 누르며 왼손으로 눌렀는지 오른손을 눌렀는지 판단한다.누른 번호가 1, 4, 7 이라면왼손으로 키패드를 누르고 왼손을 누른 자리로 이동시킨다.누른 번호가 ..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 ROUND() - 반올림 함수 AVG() - 평균을 구하는 함수 IFNULL - NULL 값을 처리하는 함수 SELECT ROUND(AVG(IFNULL(LENGTH, 10)), 2) AS AVERAGE_LENGTH FROM FISH_INFO 📌 기억할 것 MySQL에서 컬럼의 값이 NULL인 경우 다음 함수들로 처리할 수 있다. IFNULL(컬럼명, 대체값) IF 함수와 IS NULL 함수를 함께 사용 CASE문 COALESCE(컬럼명, 대체값)