일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘
- 기술면접
- 정처기
- Til
- 혼공챌린지
- 혼공파
- doitandroid
- 프로그래머스
- 안드로이드스튜디오
- 오블완
- 티스토리챌린지
- 스터디
- 코테
- 정보처리기사
- java
- 코틀린
- Kotlin
- Android
- 자료구조
- 인프런
- MySQL
- groupby
- 자바
- CS
- SQL
- 혼공단
- 카카오코테
- 안드로이드
- join
- select
- Today
- Total
목록프로그래머스 (105)
Welcome! Everything is fine.
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 WHEN-THEN 문에서 BETWEEN - AND 문을 이용해 분기별로 나눠주었다. 다른 사람들의 답안을 보니 CASE문 전체를 CONCAT으로 감싸 숫자와 'Q'를 이어붙여 처리하는 방법도 있다. 분기별로 묶은후 ID의 개수를 세어 분화된 대장균 개체의 총 수를 표현하였다. SELECT CASE WHEN MONTH(DIFFERENTIATION_DATE) BETWEEN 1 AND 3 THEN '1Q' WHEN MONTH(DIFFERENTIATION_DATE) BETWEEN 4 AND 6 TH..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 성격 유형과 선택지, 성격 유형 점수를 각각 해시맵에 저장한 후 푼 문제였다. 일단 나는 아래 코드와 같이 한땀한땀 해시맵에 저장하긴 했는데..더 간단하고 효율적인 방법이 있을 수도 있다.🤔 HashMap map = new HashMap(); map.put('R', 0); map.put('T', 0); map.put('C', 0); map.put('F', 0); map.put('J', 0); map.put('M', 0); map.put('A', 0); map.put('N', 0); HashM..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 소수 판별하기 문제를 풀기 전에, 소수를 판별하는 알고리즘을 짜보자! 소수란 1과 자기 자신만을 약수로 가지는 수이다. 즉, 2부터 자기 자신 - 1 까지의 수 중에서 하나라도 약수가 존재한다면 그 숫자는 소수가 아니다. 이대로 코드를 짠다면 다음과 같이 짤 수 있을 것이다. public static boolean isPrime(int n) { if (n < 2) return false; else { for (int i = 2; i < n; i++) { if (n % i == 0) return f..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 FISH_INFO와 FISH_NAME_INFO을 JOIN 한 후, FISH_NAME 중에 BASS와 SNAPPER가 포함되어 있다면 해당 FISH_TYPE의 개수를 세어 조회하도록 했다. 조건을 걸어 COUNT()로 세기만 하면 되는 간단한 문제였다. SELECT COUNT(FISH_TYPE) AS FISH_COUNT FROM FISH_INFO JOIN FISH_NAME_INFO USING(FISH_TYPE) WHERE FISH_NAME IN ('BASS', 'SNAPPER')
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 제출한 오답 처음 제출한 답안인데 틀렸다. 생각해보니 월별 자동차 ID별 총 대여 횟수를 구해야 하는데, CAR_ID로만 묶을 것이 아니라 월(MONTH)로도 묶어야할 것 같다는 생각이 들었다. SELECT MONTH(START_DATE) AS MONTH, CAR_ID, COUNT(*) AS RECORDS FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE MONTH(START_DATE) BETWEEN 8 AND 10 GROUP BY CAR_ID HAVING COUNT..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 정답 먼저 HR_EMPLOYEES와 HR_GRADE를 JOIN한다. SCORE, EMP_NO, EMP_NAME, POSITION, EMAIL은 모두 이 두 테이블에서 가져올 수 있으므로 HR_DEPARTMENT 테이블은 사용하지 않아도 된다. EMP_NO을 기준으로 GROUP BY 한 것은 각 사원들의 상반기, 하반기 평가 점수를 SUM() 하기 위해서이다. 그리고나서 SCORE를 내림차순 정렬(DESC) 해준다. 평가 점수가 가장 높은 사원을 조회하는 것이므로 LIMIT을 이용해 제일 위에 있는..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 처음 작성한 코드 - 오답 이번 문제는 1부터 number까지 각 숫자의 약수의 개수를 구한 후, limit을 초과한다면 그 수를 power로 수정해 약수의 개수의 합을 반환하는 문제이다. 처음 작성한 코드는 기존 테스트 케이스에서는 통과했지만 제출을 하니 시간초과로 오답처리 되었다. 찾아보니 약수의 개수를 세는 부분에서 시간 초과가 난 것이었다. 내가 작성한 코드처럼 약수를 구할 때 1부터 number까지 돌며 모든 경우를 탐색한다면 O(N)의 시간복잡도를 가지게 된다. 만약 제한사항대로 num..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 1단계 - new_id의 모든 대문자를 대응되는 소문자로 치환한다. new_id = new_id.toLowerCase(); 2단계 - new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거한다. 2단계는 new_id를 문자 하나하나 돌면서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)에 해당되지 않으면 지웠다. for (Character c : new_id.toCharArray()) { if (!(c >= 'a' && c = 16..