Coding Is My Life

코딩은 인생

728x90

삼성sw역량테스트 기출문제 6

[Code Ground][SCPC 1차예선 방속의 거울]

문제 https://www.codeground.org/practice 문제해결 문제를 보고 바로 시뮬레이션 문제라는 것을 직감했다. 방향만 잘 컨트롤 해준다면 문제없이 풀 수 있다. 더 효율적으로도 짤 수 있었겠지만 경우의 수가 별로 없어서 방햘 전환을 if문 만으로 해결하였다. 코드 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 #include #include #include using namespace std; int map[1001][1001]; b..

[Code Ground][SCPC 예선 - 개구리 뛰기]

문제 https://www.codeground.org/practice 문제해결 처음 고안한 방법으로는 다이나믹 프로그래밍으로 1~N까지 그때그때마다 최소로 점프할 수 있는 횟수를 업데이트해줘서 마지막 목적지까지 구해주는 방식으로 했으나 시간초과로 80점을 받았다... O(N)으로 풀어야 했기에 한번에 반복문만을 사용해야만 한다. 다음위치 > T; for(test_case = 0; test_case > N; for(int i = 1;i> bridge[i]; } cin >> K; int temp = 0; // 현재자리수+K를 저장 즉 최대로 건넜을때 위치임 int location = 0; //위치, 즉 최대로 건널 수 있는 돌다리의 위치를 저장한것(현재 와있는 위치라고 생각하면됨) int sol = 0; /..

미세먼지 안녕!(백준 17144번)

문제 https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 알고리즘 풀이 1. 미세먼지를 분산시킬때는 동시에 일어나는 것이기 때문에 배열에 하나하나 접근해서 바꾸다 보면 분산시켜서 더해준 구역을 분산시켜서 동시에 한다는 조건을 만족하지 못한다. 그렇기 때문에 임시로 저장해놓을 배열을 하나 만들어서 분산시키는 것과 분산시킨 구역의 남은 미세먼지 값을 임시 배열에 저장한다. 2. 임시 배열의 값들을 진짜 배열에 복사해준다. 3. 공기청정기는 공기가 지..

치킨 배달(백준 15686번)

문제 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 이 문제를 처음 봤을 때 그냥 간단한 브루트포스 문제인 줄 알고 풀었다가 시간초과가 계속 나와서 다른 블로그를 보고 서야 풀 수 있었다... 길이를 구하는 것을 처음에는 집,치킨집 좌표를 기억해서 구하는 식으로 했다가 시간초과가 나서 bfs로 했는데 런타임에러가 떠서 결국에는 블로그를 찾아서 풀었다. 알고리즘 설명 1. 집,치킨집의 좌표를 벡터에 저장한다. 2. visi..

컨베이어 벨트 위의 로봇(백준 20055번)

문제 https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 문제 설명 문제 설명이 약간 해석하기 어려운데 간단하게 그냥 저 컨베이어 벨트가 현실과 똑같이 움직인다고 생각한다면 쉽다. 로봇은 무조건 올리는 자리에 올라가야하고 내리는 자리에서 내려야한다. 그리고 로봇은 움직일 수 있으면 무조건 움직이여야한다. 로봇이 움직이거나 로봇을 올리면 컨베이어 벨트에 내구도가 -1 된다. 이 내용만 숙지하고 조건에 맞게 풀어 나가면 된다. 알..

스타트와 링크(백준 14889번)

문제 https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 알고리즘 풀이 1. 이차원 배열에 값을 입력받는다. 2. ck라는 boolean배열을 하나 만들어서 숫자를 뽑는 것을 체크한다. 3. 전체탐색을 해주면서 카운트를 1씩 올려준다. 4. 만약 카운트가 N의 절반이되면 팀이 반반으로 나뉜것이기 때문에 능력치를 비교해준다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454..

728x90