본문 바로가기

구현3

boj 19237 - 어른 상어(구현) https://www.acmicpc.net/problem/19237 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net - 항상 이런 문제가 나오면 행,열에 대한 개념이 햇깔린다. - 문제에서 주어진 순서대로 구현하면 된다. board에는 상어id, 냄새id, 냄새남은시간(k-a)를 저장한다. shark 구조체에 좌표와 방향, 우선순위를 저장하고, 비어있는 shark배열을 선언해준다. - 1. 전체 냄새가 1씩 감소하고 2. 1~m의 상어가 주어진 방향별 우선순위대로 움.. 2021. 7. 8.
boj 17140 - 이차원배열과 연산(구현, 정렬) https://www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net - 행, 열의 길이를 기록하면서 행>= 열 이면 R연산, 행 < 열 이면 C연산을 하면 된다 - 연산시 숫자-숫자출현횟수를 cnt배열에 기록하고(숫자 범위가 컸으면 해쉬로 저장했을듯), cnt배열을 다시 읽어내려가면서 우선순위큐에 {-횟수, -숫자} 로 넣어 정렬한다. C++는 priority_queue 최대힙이 기본이니까 최소힙으로 만들기 위해 -를 붙였고, 다시 top을 꺼내서 배.. 2021. 7. 8.
[kakao blind 2020] 문자열 압축 - 문자열, 구현 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 주어진 문자열을 압축한다고 했을 때 압축되는 단위는 1부터 문자열의 길이 / 2 가 될 수 있다. 이를 이용해서 1. 압축되는 단위를 정하고, 2. 이 단위 만큼 압축 가능한 substring의 갯수를 세고, 3. 압축이 되었을 때의 문자열 길이 중 최소길이를 구하면 된다. 3번이 좀 햇깔릴 수 있는데 압축된 문자열 길이를 모두 제외한 다음, 압축된 길이.. 2021. 5. 14.