[백준/c++] 1946번: 신입 사원
·
알고리즘/백준
https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 처음엔 모든 사람들을 비교해봐야 했는데 문제를 제대로 이해하면 다르게 진행된다.. 둘 중에 하나만 크면 통과다. 그러니까 일단 서류 통과를 기준으로 정렬하고 서류 통과 1등을 뽑고 인터뷰점수로 더 높은 점수의 사람을 채용하도록 한다. 더 높았던 그 점수는 다시 업데이트된다. #include #include using namespace std; int main(){ ios::s..
[백준/c++] 2529번: 부등호
·
알고리즘/백준
https://www.acmicpc.net/problem/2529 2529번: 부등호 여러분은 제시된 부등호 관계를 만족하는 k+1 자리의 최대, 최소 정수를 첫째 줄과 둘째 줄에 각각 출력해야 한다. 단 아래 예(1)과 같이 첫 자리가 0인 경우도 정수에 포함되어야 한다. 모든 입력 www.acmicpc.net 후.. 처음에는 아 이걸 어떻게 해;; 했었는데 그냥 백 트랙킹으로 순서가 다른 수열을 쭉 늘어놓고 부등호 비교 연산을 하면 된다.ㅋ 2번째 예제를 돌리면서 시간이 좀 걸리길래 시간초과인가 했는데 잘 됐다!^^ #include #include #include #include using namespace std; int k; char ch[10]; vector v; string s; bool vi..
[백준/c++] 1449번: 수리공 항승
·
알고리즘/백준
https://www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net 정렬하는 게 제일 중요. 왼쪽에서부터 쭉 오른쪽으로 이동하면서 테이프를 붙일 것이므로! #include #include using namespace std; int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int L, N, pipe[1001]; cin >> N >> L; for(int i=0; i> pipe[i]; if..
[백준/c++] 1205번: 등수 구하기
·
알고리즘/백준
https://www.acmicpc.net/problem/1205 1205번: 등수 구하기 첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보 www.acmicpc.net 쉬운 문제인데 진정한 문제는.. 반례 찾기였다..^^ㅋㅋㅋㅋㅋㅋㅋ 처음에는 진짜 하.. 너무 하기 싫어서 그냥 다른 사람 코드 볼까 했는데 유혹을 참고 한번 반례를 다 찾아보자! 몇 시간이 걸려도 내가 찾고 만다;;;;;라는 마음으로 하나하나 적으면서 생각해봤다. 일단 제일 중요한 조건 (10 ts >> p; for(int i=0; i> score[i]; if(p ==..
[백준/c++] 7576번: 토마토
·
알고리즘/백준
https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 아래 문제와 거의 동일한 문제인데, 7569번은 3차원이고 이 문제는 2차원이다. 이번에는 box안의 값을 +1씩 올려서 가장 큰 값을 모든 토마토가 익은 날로 했다. 만약 0이 하나라도 있다면 모든 토마토가 익을 수 없다는 것이므로 -1을 출력한다. https://nyeoungkm.tistory.com/entry/백준c-7569번-토마토 [백준/c++] 7569번: 토마토 htt..
[백준/c++] 10026번: 적록색약
·
알고리즘/백준
https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 적약색약인 사람과 아닌 사람을 나눠서 BFS를 돌려주면 된다. 사실 너무 오래 걸리는 거 아닌가.. 동시에 돌려줘야 하나 싶었는데 N이 100이하이기 때문에 따로 해도 충분했던 것 같다. 적약색약은 R과 G를 동일한 것으로 보기 때문에 그냥 R을 G로 혹은 G를 R로 바꿔주고 BFS를 다시 돌려주면 된다. #include #include #include #include using names..
[백준/c++] 2583번: 영역 구하기
·
알고리즘/백준
https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 평범한 BFS 문제였다. 그런데 문제는... 지금까지 배열을 왼쪽 상단 == (0,0) 오른쪽 하단 == (N, M) 이런 식으로 진행했는데 여기서는 다르게 나온다. 위의 그림처럼 왼쪽 하단이 (0,0)이고 오른쪽 상단이 (N, M)이다. 그래서 눈금을 그리는 데 있어서 헷갈릴 수 있다. 문제를 대충보면 또 실수를 마구마구 할 수 있다. 문제 제대로 읽고.. 혹시 모르니 꼭 눈..
[백준/c++] 2816번: 디지털 티비
·
알고리즘/백준
https://www.acmicpc.net/problem/2816 2816번: 디지털 티비 2012년 12월 31일 새벽 4시부터 지상파 아날로그 TV방송이 종료되었다. TV를 자주보는 할머니를 위해서, 상근이네 집도 디지털 수신기를 구입했다. 원래 상근이네 집에는 KBS1과 KBS2만 나왔다. 할머니 www.acmicpc.net 처음에 이 문제를 풀 땐 아니 뭐 이렇게 조건이 없냐.. 이러면 다 다르게 답이 나오잖아 어쩔 거야! 했는데 다른 사람들의 코드를 보다가 스페셜 저지 문제가 원래 여러 답이 나오는 문제라는걸 알게 되었다..ㅋ.. 다른 사람의 코드를 보면 이게 문제다. 그 방법 말곤 다른 방법으로 풀지 못하게 된다는... 후.. 아쉽지만 여러 생각을 해봐도 이 방법이 젤 쉽고 간단한 거 같기에 ..
[백준/c++] 8979번: 올림픽
·
알고리즘/백준
https://www.acmicpc.net/problem/8979 8979번: 올림픽 입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각 www.acmicpc.net 이건 구조체를 사용해서 풀면 좋다. 처음에는 vector pair를 어떻게 해서 풀려고 해 봤는데 국가 번호를 추가하는데 애를 먹었기 때문에 실패.. 구조체를 사용하면 굉장히 편하게 여러 변수를 사용할 수 있다. 이를 꼭 기억하도록 하자... sort함수를 사용해서 편하게 원하는 조건으로 정렬할 수 있다. 그 후, 조건대로 정렬한 배열 속에서 내 앞에 있는 원소들을 훑으면서 ..
녕이
'BOJ' 태그의 글 목록 (12 Page)