코딩테스트 164

[프로그래머스]12세 이하인 여자 환자 목록 출력하기 - MySQL

문제 https://school.programmers.co.kr/learn/courses/30/lessons/132201 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level 1 문제 항상 느끼는 거지만 나는 뭐 무슨 문제를 풀든 잘 읽지 않아서 한번 두번 다시 읽게 된다.... 💡 이 문제도 그렇고 다른 문제도 그렇고 뭐든 한번에 잘 읽어보자 ! 12세 이하인 "여자" 환자 💡IFNULL() 사용 ! IFNULL(A, B)는 A가 NULL이면 B를 반환하는 함수 ! NULLIF() 등 다른 함수와 헷갈리지 말자 혼틈 IFNULL()과 NULLI..

[프로그래머스]대여 기록이 존재하는 자동차 리스트 구하기 - MySQL

얘도 오늘 3시엔가 올라온 따끈따끈한 문제임 ! 이번에도 역시 아주 따끈따끈한 문제 풀이입니당 문제 https://school.programmers.co.kr/learn/courses/30/lessons/157341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level 3 문제인데, 개인적으로 방금 올린 Level 2 문제보다 쉬웠음. https://seokmimmmmmmmm.tistory.com/229 [프로그래머스]자동차 평균 대여 기간 구하기 - MySQL 회사에서 심심해서 프로그래머스 들어갔는데 SQL 문제가 새로 올라와서 풀었다 !!! ..

[프로그래머스]자동차 평균 대여 기간 구하기 - MySQL

회사에서 심심해서 프로그래머스 들어갔는데 SQL 문제가 새로 올라와서 풀었다 !!! 아주 따끈따끈한 문제 풀이입니당 문제 https://school.programmers.co.kr/learn/courses/30/lessons/157342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level 2 문제인데 Level 2 문제치고 쉽지만은 않은 문제였다 ! 💡 ROUND()를 이용해서 반올림 하기 ! 첫번째 인자에는 값을, 두번째 인자에는 소수점 몇번째 자리에서 반올림할 것인지를 써주면 됨 💡 AVG()를 이용해서 평균 구하기 ! 💡 GROUP BY절..

[프로그래머스]흉부외과 또는 일반외과 의사 목록 출력하기 - MySQL

문제 https://school.programmers.co.kr/learn/courses/30/lessons/132203 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level 1 문제 💡 DATE_FORMAT() 등의 함수를 이용해서 날짜 형식 바꾸기 ! 💡 ORDER BY절에 계속해서 컬럼을 걸면 다음 기준으로 정렬 가능 ! DATE_FORMAT()에 대해 궁금하다면? https://seokmimmmmmmmm.tistory.com/228 [MySQL]날짜 포맷 변환하기 - DATE_FORMAT() DATE_FORMAT() MySQL에서는 날짜나..

[프로그래머스]가장 비싼 상품 구하기 - MySQL

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131697 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level 1 문제 집계함수를 사용하면 가장 쉽게 풀 수 있음 ! 다른 방법은... ORDER BY로 정렬하고 LIMIT 1 해서 맨 위의 행 하나만 뽑아내는 거?? 집계 함수가 뭔지 모른다면 ? https://seokmimmmmmmmm.tistory.com/224 [MySQL]집계 함수에 관하여 집계 함수란? 집계 함수는 결과 레코드들에 대한 레코드의 개수, 값들의 합, 최대값, 최..

[프로그래머스]예산 - Java

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level 1 문제 그리디하게 생각하면 쉽게 풀 수 있을거임 ! 정렬해서 신청한 금액이 적은 부서부터 지원해주면 됨 주석은 뭐... 달게 없어서 그대로 올립니당 코드 // 코딩테스트 연습 - Summer/Winter Coding(~2018) - 예산 // https://school.programmers.co.kr/learn/courses/30/lessons/12982 package PR..

[프로그래머스]3진법 뒤집기 - Java

문제 https://school.programmers.co.kr/learn/courses/30/lessons/68935 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level 1 문제이고 쉽게 풀었음. 그래서 안 올리려고 했는데, 다른 풀이들을 찾아보다가 완전 처음 알게된 사실이 있어서 글을 씁니당 ㅎㅎㅎ 일단 풀이는 %연산이랑 /연산을 잘 활용해서 3진법을 잘 만들고 sb.reverse()로 뒤집거나 뭐 등등 뒤집어서 다시 3진법으로 만들면 됨 ! 그런데 처음 알게된 사실 Integer.parseInt()에 인수가 하나 더 들어갈 수 있다는 것!..

[프로그래머스]푸드 파이트 대회 - Java

문제 https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level 1 문제 문자열 관련 함수만 알고 있으면 쉽게 풀 수 있을 거임 ! StringBuilder로 접근해서 시간을 최대한 줄이려고 했음 ! 자세한건 주석으로 ! 코드 // 코딩테스트 연습 - 연습문제 - 푸드 파이트 대회 // https://school.programmers.co.kr/learn/courses/30/lessons/134240 package PROGRAMMERS...

[프로그래머스]두 개 뽑아서 더하기 - Java

문제 https://school.programmers.co.kr/learn/courses/30/lessons/68644 풀이 Level 1 문제임 엄청 쉬운 완전 탐색 문제인 듯?? 숫자 두개를 뽑아서 더하면 같은 결과가 나올 수 있는데 문제를 보면 같은 결과는 같다고 판단하는 것을 알 수 있음. 그래서 Set에다가 추가했는데, Set을 List로 바꿔서 배열을 선언 후에 차례대로 배열에 넣어줬음. 근데 List answerList = answerSet.stream().toList(); 이 문법(stream().toList())은 프로그래머스에서 아직 지원을 안하는 듯? 그래서 for (int temp : answerSet) { answerList.add(temp); } 이렇게 List에 넣어줬음! 자세..

[프로그래머스]소수 만들기 - Java

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12977 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level 1 문제임 문제를 보자마자 dfs로 풀었는데 풀고 보니까 제모옥..은... 완전 탐색으로 하겠습니다... 근데 이제,, dfs를 곁들인! 이 되어 버렸네요? 자세한건 주석으로 ! 코드 // 코딩테스트 연습 - Summer/Winter Coding(~2018) - 소수 만들기 // https://school.programmers.co.kr/learn/courses/30/less..

[프로그래머스]햄버거 만들기 - Java

문제 https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level 1 문제인데, 생각보다 시간초과에 걸려서 오래 걸림,,, ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ stack으로도 풀 수 있었을 것 같은데, 고집이 생겨서 어떻게든 String으로 풀려고 했음 String.replace("1231", "")은 1231을 다 한번에 바꾸는 거라 오답 String.replaceFirst("1231", "")은 시간초과나서 통과 못함 StringBuilder랑 St..

[백준]11724번 연결 요소의 개수 - Java

문제 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 풀이 쉬운 그래프 탐색 문제 ! 인접 리스트 배열로 풀든, 인접 행렬로 풀든 상관은 없을 것 같음! 방문하지 않은 노드가 있으면 dfs를 시작하고 그 안에서 연결이 되어있고 방문하지 않은 애들이면 탐색을 시작함 자세한건 주석으로! 코드 // 11724번 연결 요소의 개수 // https://www.acmicpc.net/proble..

[백준]5567번 결혼식 - Java

문제 https://www.acmicpc.net/problem/5567 5567번: 결혼식 예제 1의 경우 2와 3은 상근이의 친구이다. 또, 3과 4는 친구이기 때문에, 4는 상근이의 친구의 친구이다. 5와 6은 친구도 아니고, 친구의 친구도 아니다. 따라서 2, 3, 4 3명의 친구를 결혼식에 초대 www.acmicpc.net 풀이 쉬운 문제인듯? 걍 문제대로 풀면 됨 나는 그냥 문제대로 풀었지만, dfs로 depth == 2 면 탈출하게 해서 풀어도 될 듯??? 자세한건 주석으로! 코드 // 5567번 결혼식 // https://www.acmicpc.net/problem/5567 package BAEKJOON; import java.io.BufferedReader; import java.io.IOE..

[프로그래머스]할인 행사 - Java

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level2 문제 1. 자료구조를 잘 정해서 풀어야 할 것 같음 2. 로직을 반복할 때 다시 자료구조를 잘 초기화 시켜줘야 함 나같은 경우에는 Map을 사용해서 풀었음 그리고 .clone() 함수를 사용해서 초기화 시켜줬음 자세한건 주석으로 ! 코드 // 코딩테스트 연습 - 연습문제 - 할인 행사 // https://school.programmers.co.kr/learn/courses..

[프로그래머스]전력망을 둘로 나누기 - Java

문제 https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level2 문제임 그래프 문제를 잘 해결하지 못하는 편이라 겁먹고 시작했지만 풀었다 그래도 ㅎㅎㅎ 내 생각에 포인트는 1. 그래프를 어떤 자료구조로 표현할 것인가 2. 전력망이 끊긴 것을 어떻게 표현할 것인가 3. 전력망을 끊은 후 각각의 전력망에서의 송전탑의 개수를 어떻게 셀 것인가 인 것 같다 1번의 경우, 처음엔 ArrayList 구조로 했는데 get(), indexOf(), r..

[프로그래머스][1차]캐시 - Java

문제 https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 걍 보자마자 큐가 생각나서 한 10분 컷일 줄 알았는데 풀어보니까 의외로 생각할게 하나둘씩 더 있었음 ㅎㅎㅎㅎ 캐시에 있는 도시를 검색하면 그 캐시에 검색된 도시명이 제일 최근으로 올라와야됨! 그러려면 중간에 있는 도시를 삭제하고 다시 새로 추가해주면 되는데, 큐를 사용하면 중간에 있는 도시를 삭제하지 못하기 때문에 ArrayList를 사용했음 캐시의 크기가 0인 경우는 따로 예외로 두..

[프로그래머스]이진 변환 반복하기 - Java

문제 https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 쉬운 문제임 근데 보니까 전에도 풀었더라고 ㅎㅎ 문제 잘 읽고 그대로 풀면 됨 다 풀고 전에 풀었던 코드 보니까 s = s.replace("0", ""); 이렇게 문자열 함수 사용했던데 이렇게 하는게 시간도 더 빠르고 코드 길이도 짧을 듯함 ! 자세한건 주석으로 ! 코드 // 코딩테스트 연습 - 월간 코드 챌린지 시즌1 - 이진 변환 반복하기 // https://programmers.c..

[프로그래머스]N개의 최소공배수 - Java

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 쉬운 문제임 다른 사람보니까 유클리드 호제법으로도 풀었던데 나는 다른 방법으로 풀었음 ! 배열을 정렬해서 가장 큰 수를 뽑아준 다음에 걔를 기준으로 배열을 돌면서 모두의 최소공배수가 맞는지 확인했음! 그리고 그 뽑아준 애를 1배, 2배, 3배, ... 하면서 모두의 최소공배수를 구할 때까지 숫자를 증가시켜줌 자세한건 주석으로 ! 코드 // 코딩테스트 연습 - 연습문제 - N개의 최소공배..

[프로그래머스]JadenCase 문자열 만들기 - Java

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 엄청 쉬운 문제인 줄 알았는데 처음에 런타임에러로 틀렸음 ㅠㅠㅠ private static class Solution { private String solution(String s) { StringBuilder sb = new StringBuilder(); String[] strArr = s.split(" "); for (int i = 0 ; i < strArr.length ; i++)..

[프로그래머스]최댓값과 최솟값 - Java

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12939 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 쉬운 문제인데 왜 Level 2??? 문자열 s를 정수형 배열에 저장하는 방법만 알면 아주 쉬울 듯??? 코드 // 코딩테스트 연습 - 연습문제 - 최댓값과 최솟값 // https://school.programmers.co.kr/learn/courses/30/lessons/12939 package PROGRAMMERS.level2; import java.util.Arrays; publi..