반응형

코딩 공부 151

[프로그래머스][SQL] SELECT 5.동물의 아이디와 이름

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 사고 과정 구현(C++) 1 2 3 4 -- 코드를 입력하세요 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS AS A ORDER BY A.ANIMAL_ID cs 시행착오

[프로그래머스][SQL] SELECT 4. 어린 동물 찾기

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 사고 과정 - INTAKE_CONDITION이 aged가 아닌 조건을 달아주면 된다. 구현(C++) 1 2 3 4 5 -- 코드를 입력하세요 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS AS A WHERE A.INTAKE_CONDITION !=..

[프로그래머스][SQL] SELECT 3. 아픈 동물 찾기

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 사고 과정 - where : 조건을 걸어서 원하는 데이터를 가져옵니다. 주의해야 할 점은 ==이 아닌 =을 사용합니다. 코테에 익숙하신 분들은 간혹 헷갈립니다. 구현(C++) 1 2 3 4 5 -- 코드를 입력하세요 SELECT ANIMAL_ID, NAME FROM A..

[프로그래머스][SQL] SELECT 2. 역순 정렬하기

programmers.co.kr/learn/courses/30/lessons/59035 코딩테스트 연습 - 역순 정렬하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 사고 과정 - AS : Alias로 가명을 지어주는 의미이다. table명이 길 때 사용하면 용이하다. - DESC : order by로 데이터를 정렬할 때, 내림차순으로 정렬해준다. 구현(C++) 1 2 3 4 -- 코드를 입력하세요 SELECT A.NAME, A.DA..

[프로그래머스][SQL] SELECT 1. 모든 레코드 조회하기

programmers.co.kr/learn/courses/30/lessons/59034 코딩테스트 연습 - 모든 레코드 조회하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 사고 과정 - SELECT : 테이블에서 하나 이상의 column을 가져옵니다. - FROM : 데이터를 가져올 테이블을 적습니다. - ORDER BY : 데이터를 정렬합니다. 기본적으로 오름차순입니다. 구현(C++) 1 2 3 4 -- 코드를 입력하세요 SELE..

[백준][C++] 2933 미네랄

www.acmicpc.net/problem/2933 2933번: 미네랄 창영과 상근은 한 동굴을 놓고 소유권을 주장하고 있다. 두 사람은 막대기를 서로에게 던지는 방법을 이용해 누구의 소유인지를 결정하기로 했다. 싸움은 동굴에서 벌어진다. 동굴에는 미네랄 www.acmicpc.net 알고리즘 종류 - 구현 사고 과정 1. 명령어를 for문으로 하나씩 꺼내고, 왼손 또는 오른손에 따라 동작 수행하기 2. 명령에 따라 막대기 던져서 부수기 3. 부숴진 후에 공중에 떠있는 미네랄 내리기 3-1. 바닥에 붙은 미네랄을 1로 표시. BFS이용 3-2. 바닥에 공중에 떠있는 미네랄은 1로 표시가 안되어 있어야 한다. 2로 표시한다. 그리고 동시에 mat에서 지워주면서, 위치를 vector에 넣주기 3-3. 위치가 ..

[백준][C++] 13459 구슬 탈출

www.acmicpc.net/problem/13459 13459번: 구슬 탈출 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 알고리즘 종류 - 구현 사고 과정 1. 구슬의 이동은 BFS로 처리한다. 2. 이동 중에 출구('O')를 만나면, flag에 기록했다가 처리한다. 3. 이동 중에 벽('#')을 만나면, 멈춘다. 4. 이동 후에 빨간 공과 파란 공의 위치가 같으면, 위치를 재조정한다. - 옮기기 전에, 어떤 공이 뒤에 있었는지 확인하여, 옮긴다. 5. queue에 두 공에 대한 정보..

[백준][C++] 13418 학교 탐방하기

www.acmicpc.net/problem/13418 13418번: 학교 탐방하기 입력 데이터는 표준 입력을 사용한다. 입력은 1개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 건물의 개수 N(1≤N≤1,000)과 도로의 개수 M(1≤M≤n*(n-1)/2) 이 주어진다. 입력의 두 번째 줄 www.acmicpc.net 알고리즘 종류 - MST 사고 과정 - 간선은 오르막길과 내리막길 뿐이기 때문에 비용을 계산하기 쉽게 오르막길은 1, 내리막길은 0으로 설정한다. - 간선을 오름차순과 내림차순으로 정렬해서 각각 MST 알고리즘을 적용한다. - 두 경우에서 나온 합을 이용해서 피로도 차이를 계산한다. 본인은 오르막길 비용을 1로 했기 때문에 오르막길의 개수^2은 피도로가 나온다. 구현(C++) 1 2..

[백준][C++] 전기가 부족해

www.acmicpc.net/problem/10423 10423번: 전기가 부족해 첫째 줄에는 도시의 개수 N(1 ≤ N ≤ 1,000)과 설치 가능한 케이블의 수 M(1 ≤ M ≤ 100,000)개, 발전소의 개수 K(1 ≤ K ≤ N)개가 주어진다. 둘째 줄에는 발전소가 설치된 도시의 번호가 주어진다. 셋째 www.acmicpc.net 알고리즘 종류 - MST 사고 과정 - 발전소 노드의 부모를 하나로 통일한다. 통일할 노드는 발전소 노드들 중에 가장 작은 노드이다. 이렇게 해결한 이유는 다음과 같다. 일반적인 Kruskal은 하나의 부모 노드로 통일하기 때문에 그래프가 1개 나온다. 하지만, 여기서는 부분 그래프가 나온다. 그래프가 여러 개 나오기 위해서는 부모가 여러 개면 된다. 구현(C++) 1..

[백준][C++] 2352 반도체 설계

www.acmicpc.net/problem/2352 2352번: 반도체 설계 첫째 줄에 정수 n(1 ≤ n ≤ 40,000)이 주어진다. 다음 줄에는 차례로 1번 포트와 연결되어야 하는 포트 번호, 2번 포트와 연결되어야 하는 포트 번호, …, n번 포트와 연결되어야 하는 포트 번호가 주 www.acmicpc.net 알고리즘 종류 - 이분탐색 - 가장 긴 증가하는 부분 수열(LIS) 사고 과정 - 문제에서 '연결선이 서로 꼬이지(겹치지, 교차하지) 않도록'이라는 의미는 포트 번호들이 계속 증가하거나 계속 감소하는 양상으로 나열되어야 한다는 것이다. 그리고 '최대 몇 개까지 연결'이 말이 나왔으므로 나열된 길이는 최대한 길어야 한다. 따라서, 이 문제는 최대로 증가하는 부분 수열(LIS)문제이다. 1. 배..

반응형