목록코딩 테스트 (10)
N
https://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문으로 ANIMAL_INS 안에 존재하는 모든 데이터를 ANIMAL_ID의 오름차순으로 정렬. order by 문으로 정렬 기준을 정하면 오름차순으로 데이터가 정렬된다. -- 코드를 입력하세요 SELECT * FROM ANIMAL_INS ..
www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net 원판은 덱, 수의 위치(i, j)는 큐로 관리하였다. 우선 N개의 덱을 저장하는 벡터 disk. M개의 수를 임시 덱에 저장하고 disk에 넣어주도록 한다. 이때, remain 변수를 늘려주었다. (remain 변수는 원판에서 0이 아닌 수, 제거되지 않은 수다) T번 반복하자. x, d, k를 순서대로 받아온다. 그리고 x의 배수에 해당하는 원판을 d의 방향으로 k번 돌려주도록 한다. 각 원판..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7GKs06AU0DFAXB&categoryId=AV7GKs06AU0DFAXB&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 백준과 프로그래머스에서 있는 n-queen문제. eunchanee.tistory.com/121 (프로그래머스 c++) N-Queen 문제 설명 가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다. 예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 eunc..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV2b-QGqADMBBASw&categoryId=AV2b-QGqADMBBASw&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 약간의 수학적 센스가 있으면 쉽게 풀 수 있는 문제. 배열의 크기를 [301][301]로 하여 세그먼트 폴트가 나지 않도록 적절히 조절하였다. 배열의 가로측으로는 i + j - 1씩 계속 증가한다. 배열의 세로측도 1, 2, 3, 4...씩 증가하기 때문에 num 계속해서 i를 더해주면 해당 값을 얻을 수 있다. #include u..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh&categoryId=AV139KOaABgCFAYh&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com test case는 10으로 정해져 있으므로 for문을 10번 반복한다. vector를 이용하여 문제를 해결. 가로의 길이는 100으로 고정이므로 100개의 상자 높이를 받아온다. 평탄화 작업을 수행. 상자의 높이가 담겨져 있는 v 벡터를 계속해서 sort를 한다. 오름차순 정렬이 되기 때문에 v[0]은 min 값, v[99]는 m..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh&categoryId=AV134DPqAA8CFAYh&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 우선 10개의 테스트 케이스가 주어지기 때문에 for문을 10번 반복한다.(test case 개수 입력을 받지 않으니 주의!) int형 변수로 건물 개수를 나타내는 t, 왼쪽의 빌딩 높이를 나타내는 left, 오른쪽의 빌딩 높이를 나타내는 right, 전망 좋은 집의 개수를 더하는 count를 선언한다. 전역변수로는 int형 배열 ..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq&categoryId=AV5PzOCKAigDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com N의 최대 크기는 15이므로 arr[15][15]를 선언하여 값을 채워나간다. N이 크지 않기 때문에 브루트포스로 4중 for문을 이용. 파리채의 크기를 나타내는 j, k. 파리들의 위치를 나타내는 l, m을 이용하여 배열을 순회하면서 값을 비교해 나가도록 한다. #include using namespace std; int main..

이분탐색을 통해 문제 해결. 처음에는 완전탐색으로 시도했지만 효율성 테스트를 통과하지 못하므로, 이분탐색으로 문제를 풀었다. front = 1, back = stones 배열에서의 max 값으로 초기화한다. front = k가 된다면 true를 리턴하여 back = mid - 1을 해주도록 한다. false가 반환되면 front = mid + 1. 결국 front가 징검다리를 건널 수 있는 친구의 수가 된다. #include #include #include using namespace std; bool bs(vector stones, int mid, int k) { int count = 0; for(int i = 0; i < stones.size(); i++) { if(stones[i] - mid = k..