목록전체 글 (149)
되면한다
https://www.acmicpc.net/problem/2910 2910번: 빈도 정렬 첫째 줄에 메시지의 길이 N과 C가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000) 둘째 줄에 메시지 수열이 주어진다. www.acmicpc.net 조건을 고려하여 정렬하는 문제이다. 1. 특징 1) 조건에 맞춰서 정렬 2. 구현 포인트 1) {1, 3, 3, 3, 2, 2, 2, 1, 1} 에서 마지막에 있는 1 두개도, 앞쪽에 1 1 1로 출력되어야한다. 다시말해 해당 수가 최초로 나온 위치를 기억할 필요가 있다. 이를 _map1에서 관리해준다. 이전에 나온적이 없는 수이면 (map에서 나온적이 없으면) cnt 값을 얻어서 _map1에 저장해준다. 나는 이 부분을 단순히 먼저 나오..

https://www.acmicpc.net/problem/1431 1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 50보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루어 www.acmicpc.net 간단한 정렬 문제인데, sort함수를 커스텀? 하는게 헷갈려서 정리했다. 사진은 https://www.youtube.com/watch?v=dq5t1woLJMw&list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY&index=16 에서 캡처했다. 1. 아래 사진에서 cmp 함수에 따르면, a가 b의 앞에 와야하는 경우는 b가 a보다 큰경우이다. 따라서 오름차순 정렬. cf) ..
https://www.acmicpc.net/problem/13335 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net 구현 아이디어를 떠올리지 못해서 못풀었다. 풀이는 https://github.com/encrypted-def/basic-algo-lecture/blob/master/0x0D/solutions/13335.cpp 을 참고했다. 1. 특징 1) 구현 2. 구현 포인트 1) 다리의 칸별 무게를 배열로 저장함 2) 트럭의 이동을 진행할 때, 1번의 배열을 이..
https://www.acmicpc.net/problem/18428 18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net 3개의 장애물을 설치하여 모든 학생들을 감시로부터 피할 수 있는지 여부를 출력하는 문제이다. 나는 장애물을 놓을 수 있는 곳인 'x'중 3개를 뽑아서 그곳에 장애물을 설치하고, 이 때 학생들이 감시를 피할 수 있는지 여부를 판별했다. 그리고 이를 조합의 횟수만큼 반복했다. 대충 계산을 해보았을 때, 34C3 (3 n; int xsize = 0; for(int i = 0; i < n; i+..
https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 뱀은 몸 길이를 늘려 머리를 다음 칸에 위치시킨다. 만약 벽이나 자기자신의 몸과 부딪히면 게임이 끝난다. 1) 만약 이동한 칸에 사과가 있다면, 그 칸에 있던 사과가 없어지고 꼬리는 움직이지 않는다. 2) 만약 이동한 칸에 사과가 없다면, 몸길이를 줄여서 꼬리가 위치한 칸을 비워준다.(몸길이 변화 X) 1. 특징 1) 구현 2. 삽질 포인트 1) 순서 고려를 잘못했다. 문제에 적혀있는 순서는 1) 머리를..
https://www.acmicpc.net/problem/20166 20166번: 문자열 지옥에 빠진 호석 K개의 줄에 걸쳐서, 신이 좋아하는 문자열을 만들 수 있는 경우의 수를 순서대로 출력한다. www.acmicpc.net 정사각형 4개를 이어 붙인 도형(테트로미노)를 회전, 대칭 시켜 보드(입력으로 받음) 위에 놓는다. 테트로미노가 놓인 칸에 쓰인 수들의 합의 최댓값을 출력. 백준 18808 스티커붙이기와 비슷하게 구현하였다. 못풀어서 https://www.acmicpc.net/problem/20166 코드를 참고했다. 1. 특징 1) 백트래킹...? 재귀...? dfs...? 2) 해시 2. 삽질 포인트 1) 처음에 아래와 같은 코드로 작성했다. 문자열을 입력받으면, 각 좌표마다 돌면서 갈 수 있..
https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 정사각형 4개를 이어 붙인 도형(테트로미노)를 회전, 대칭 시켜 보드(입력으로 받음) 위에 놓는다. 테트로미노가 놓인 칸에 쓰인 수들의 합의 최댓값을 출력. 백준 18808 스티커붙이기와 비슷하게 구현하였다. 1. 특징 1) 구현 2. 삽질 포인트 1) 기본 테트로미노 5개를 직접 구현해서 배열에 넣었다 또, 대칭 시켰을 때 도형이 기본 테트로미노을 회전 시켜서 나올 수 없다면, 이 또한 추가적으..
https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 주사위를 입력값에 따라 지도위에서 굴린다. 입력값으로 주사위를 굴리다가 주사위가 지도 밖으로 나갈 시, 해당 입력값은 무시한다. 주사위가 도착한 지도 좌표가 0이면, 주사위 바닥 수를 복사해서 지도에 쓴다. 0이 아니면, 지도 좌표에 쓰인 값을 주사위 바닥에 쓰고, 해당 지도 좌표 값을 0으로 바꾼다. 1. 특징 1) 구현 2. 구..