일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CS
- 알고리즘
- SQL
- 스터디
- 정보처리기사
- 코테
- 프로그래머스
- join
- 정처기
- java
- groupby
- doitandroid
- 자바
- select
- 자료구조
- Android
- 혼공파
- 혼공단
- 안드로이드스튜디오
- 안드로이드
- 인프런
- Kotlin
- 티스토리챌린지
- 혼공챌린지
- MySQL
- 오블완
- 코틀린
- Til
- 기술면접
- 카카오코테
- Today
- Total
목록프로그래머스 (118)
Welcome! Everything is fine.
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 데이터를 기준에 맞게 정렬하는 문제였다. 다른 코드들을 보니 람다식과 Comparator가 가장 많이 사용된 것 같다. 내가 작성한 코드의 전체적인 흐름은 다음과 같다. 주어진 ext와 sort_by에 맞는 인덱스 e, s를 구한다. 조건에 맞는 데이터를 넣을 list를 선언한다. data[e]의 값이 val_ext 보다 작을 때만 list에 데이터를 추가한다. sort_by에 해당하는 값을 기준으로 오름차순 정렬한다. list를 int형 배열로 바꾼 후 반환한다. 주어진 ext와 sort_..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 처음에 어떻게 풀어야할지 막막했다. 왜 이런 날짜, 시간 계산이 잘 안되는지..결국 검색을 해서 보고 푼 문제이다. 먼저 변수를 선언해주었다. dayOfTheWeek에는 금요일부터 화요일까지의 요일을 담고(2016년 1월 1일이 금요일이므로), month에는 1월부터 12월까지 각 월의 일수를 담았다. int answer = 0; String[] dayOfTheWeek = {"FRI","SAT","SUN","MON","TUE","WED","THU"}; int[] month = {31, 29,..