분류 전체보기 180

프로그래머스 - 여러 기준으로 정렬하기

문제 https://programmers.co.kr/learn/courses/30/lessons/59404 코딩테스트 연습 - 여러 기준으로 정렬하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 코드 SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME, DATETIME DESC

프로그래머스 2022.02.19

프로그래머스 - 동물의 아이디와 이름

문제 https://programmers.co.kr/learn/courses/30/lessons/59403 코딩테스트 연습 - 동물의 아이디와 이름 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 코드 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID;

프로그래머스 2022.02.19

프로그래머스 - 어린 동물 찾기

문제 https://programmers.co.kr/learn/courses/30/lessons/59037 코딩테스트 연습 - 어린 동물 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 코드 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION 'Aged';

프로그래머스 2022.02.19

프로그래머스 - 아픈 동물 찾기

문제 https://programmers.co.kr/learn/courses/30/lessons/59036 코딩테스트 연습 - 아픈 동물 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 코드 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick';

프로그래머스 2022.02.19

프로그래머스 - 오픈채팅방

문제 https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 풀이 HashMap을 이용해 "유저 아이디"를 키로 "닉네임"을 값으로 저장한다. HashMap의 put 메서드를 이용해 "Enter" 나 "Change" 명령에서 "유저 아이디"에 매칭되는 "닉네임"을 변경한다. 닉네임 대신에 유저 아이디를 리스트에 저장해서 마지막에 수정한 닉네임을 설정할 수 있게 한다. 코드 java 1 2 3 4 5 6 7 8 9 1..

프로그래머스 2022.02.18

백준 11725 - 트리의 부모 찾기

문제 https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 각 노드의 부모를 저장하기 위해 p[] 배열을 만들어서 여기에 저장한다. 트리도 그래프이므로 그래프의 탐색을 이용해서 노드의 부모를 찾는 과정을 가진다. 문제에서 루트 노드가 1이므로 1부터 그래프 탐색을 시작하면 1과 연결된 다음에 방문할 노드들은 부모가 1이 된다. 따라서 다음에 방문할 노드의 부모 노드는 현재 노드가 된다. 코드 c++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2..

BOJ 2022.02.17

백준 10816 - 숫자 카드 2

문제 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 풀이 숫자를 찾을 때 이분 탐색을 이용해 빠르게 찾을 수 있다. 같은 숫자를 여러 개 찾아야하는데 이분 탐색을 이용해 상한선과 하한선을 찾는다. 코드 java import java.util.Arrays; import java.util.Scanner; public class Main { static int N, M; static int[] a, b; stati..

BOJ 2022.02.05

백준 7795 - 먹을 것인가 먹힐 것인가

문제 https://www.acmicpc.net/problem/7795 7795번: 먹을 것인가 먹힐 것인가 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 www.acmicpc.net 풀이 A 배열에서 한 개씩 B 배열에 대해 탐색을 진행하면서 작은 값을 찾아야 한다. 이 때 2중 for문을 이용해서 A의 한 원소에 대해 B의 원소 전부를 탐색하면 시간초과가 발생한다. 따라서 B를 정렬 후 A 보다 작은 값의 개수를 이분 탐색으로 찾으면 된다. 일반적인 이분 탐색으로는 A 보다 작은 값의 개수를 찾을 수 없으므로 이분 탐..

BOJ 2022.02.03

백준 15970 - 화살표 그리기

문제 https://www.acmicpc.net/problem/15970 15970번: 화살표 그리기 직선 위에 위치를 나타내는 0, 1, 2, ...와 같은 음수가 아닌 정수들이 일정한 간격으로 오른쪽 방향으로 놓여 있다. 이러한 위치들 중 N개의 위치에 하나씩 점들이 주어진다(). 주어진 점들 www.acmicpc.net 풀이 각 점에서 다른 점으로 가는 가장 가까운 거리는 왼쪽 점으로 가는 것 또는 오른쪽 점으로 가는 거리다. 색깔 별로 점들을 정렬한 후 거리를 계산한다. 코드 import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; public class Main ..

BOJ 2022.02.02

백준 20291 - 파일 정리

문제 https://www.acmicpc.net/problem/20291 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net 풀이 확장자만 가져오기 위해 substring 메소드를 사용한다. 확장자를 오름차순으로 정렬 후 앞에서 부터 개수를 세면 된다. 코드 java import java.util.Arrays; import java.util.Scanner; public class Main { static int N; static String[] arr; static StringBuilder sb = new StringBu..

BOJ 2022.02.01