본문 바로가기

알고리즘39

Codewars - [6 kyu] Sum consecutives You are given a list/array which contains only integers (positive and negative). Your job is to sum only the numbers that are the same and consecutive. The result should be one list. Extra credit if you solve it in one line. You can assume there is never an empty list/array and there will always be an integer. Same meaning: 1 == 1 1 != -1 #Examples: [1,4,4,4,0,4,3,3,1] # should return [1,12,0,4,.. 2022. 1. 17.
[C++][BOJ] 삼성 SW 역량 테스트 기출 문제 - 13458번 시험 감독 굉장히 쉬운 문제였다. 총감독관은 무조건 1명이 들어가야되고 나머지를 부감독관으로 채워야 한다. 응시자 수를 받아서 총감독관 수를 빼주고 나머지는 부감독관의 수로 나눠서 반올림 한 것을 더해주면 답이 된다. 5 10 9 10 9 10 7 20 을 예시로 들면 총감독관이 7명 감독이 가능하기 때문에 10-7 9-7 10-7 9-7 10-7 3 2 3 2 3 이 되고 부감독이 20명 감독이 가능하기 때문에 3/20 2/20 3/20 2/20 3/20 반올림하면 1 1 1 1 1이 되므로 총 감독관 5명 + 부감독관 5명 해서 10명이 된다. 여기서 주의해야 될 것은 응시자수가 1,000,000가 될 수 있는데 시험장 수가 1,000,000이 되면 int형 -21억~21억의 범위를 넘어가게 된다. 그래서 정답.. 2021. 5. 17.
[C++][BOJ] 삼성 SW 역량 테스트 기출 문제 - 3190번 뱀 www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 이번 문제는 큐를 활용하여 가는 곳의 위치를 저장하고 사과가 없으면 큐의 맨 앞을 제거하고 뱀의 머리 좌표를 큐에 넣고, 사과가 있으면 그냥 뱀의 머리 좌표만 큐에 넣어가면서 큐를 업데이트해주는 문제였다. 이 것을 구현하기 위해 map을 -1로 초기화해주고 사과가 있는 위치를 APPLE이라고 표시를 해주고 방향이 바뀌는 시간과 방향을 배열에 저장해 준다. 무조건 처음에는 오른쪽이므로 오른쪽을 기준으로 char가 오면 .. 2021. 5. 13.
[C++][BOJ] 삼성 SW 역량 테스트 기출 문제 - 12100번 2048 (Easy) www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 굉장히 복잡한 문제처럼 보이지만 N이 20이 max이고 5번 이동만 하면 되기 때문에 완전탐색 기법을 사용하여 다 해보면 된다. map을 매번 저장해주고 [왼쪽,오른쪽,위,아래] 로 블록을 밀어주고 그 블록을 그대로 또 한번 [왼쪽,오른쪽,위,아래] 방향으로 밀어주면서 이렇게 5번을 해주고 5번이 됐을 때 블록의 최대 값을 return해주면 모든 case를 다 돌려 볼 수 있다. 1.. 2021. 5. 11.
300x250