분류 전체보기

    16234_인구이동

    https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 꽤나 헤맸었던 문제다.. 처음에는 유니온파인드로 풀까 하다가 결국 같은 집합을 만들어도 그들의 합으로 또 해당그룹의 수를 바꾸려면 두번 일해야한다는걸 깨닫고 그냥 bfs를 사용해서 그때그때 집합을 만들어 구현하였다. 시간초과나 메모리초과때문에 엄청 고생했는데 bfs를 맵에서 검사할때 한바퀴돌때 이미 집합에 넣어서 검사할 필요가 없는부분은 bfs를 검사하면 안되었었고, 특히 bfs안에..

    5373_큐빙

    https://www.acmicpc.net/problem/5373 5373번: 큐빙 각 테스트 케이스에 대해서 큐브를 모두 돌린 후의 윗 면의 색상을 출력한다. 첫 번째 줄에는 뒷 면과 접하는 칸의 색을 출력하고, 두 번째, 세 번째 줄은 순서대로 출력하면 된다. 흰색은 w, 노란 www.acmicpc.net 상당히 귀찮고 까다로운 문제였다. 이전에 주사위 문제를 풀었던 것과 유사하게 큐브의 전개도를 펼쳐놓고, 각 회전에 따른 방법을 함수로 하나씩 만들어서 구현했다. 문제를 겨우 통과하고 다른사람들 답을보니 함수를 굳이 12개 안쓰고 시계회전을 반시계회전을 3번하는 방식으로 만드는 것을 보았는데 되게 좋은방법이라고도 생각이 들었다.

    부스트캠프 1차 코딩테스트

    이번에 네이버 부스트캠프 웹 분야에 도전해봤다. 사실 아직도 완벽하게 준비되어있다고는 생각하지 않았다. 그래도 도전이랑 분위기파악을 하면 좋을거 같아서 도전해보았다. 1차 문제는 주관식 2문제 객관식 10문제가 나왔는데 주관식 첫번째는 예외케이스를 조금 생각해야하는 구현문제, 두번째는 비트맵 관련 문제가 나왔던것 같다. 비트맵 관련 문제는 조금 생소하기도 하고 약간의 노가다성이 필요한거같아 미뤄두고 풀다가 결국 풀지는 못했다. 객관식 10문제에는 생각보다 기초 c관련한 문제가 많이 나왔던 것 같다. 난이도가 그렇게 어렵다곤 생각 안되는데 CS공부를 접하기 어려웠던 나는 조금 어려웠다. 그래도 1번문제를 완벽히 풀었고, 이 덕에 합격한 것 같다. 2차 코딩테스트에서 좋은 결과가 있었으면 좋겠다.

    15685_드래곤 커브

    https://www.acmicpc.net/problem/15685 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커 www.acmicpc.net 조금 색다른 유형이었는데 푸는 과정이 재밌었던 문제였던 것 같다. 우선 결국 지도에 드래곤 커브들을 그려야 하는게 목표였던것 같다. 그래서 우선은 회전하는 방법에 대해서 생각을 해보았다. 어떤 좌표에서 특정좌표로 회전시키든, 0,0에서 회전시킨다고 생각 하고 다시 옮기면 회전시킨 좌표를 알 수 있다. 그런데 좌표의 회전은 결국, x,y좌표를 바꾸고 시계방향이라면 뒤에값에..

    15684_사다리조작

    https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 생각보다 되게 까다로운 문제였다... 2차원 배열을 하나 잡는데 이는 각 사다리간 사이에 사다리가 놓여져 있는지, 비어져 있는지를 나타낸다. 예를들어 위와같이 3개 사다리중에 2개만 연결되어 있다면 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 와같은 배열을 나타낸다. 이때 아래를 제외하고 0으로 감싸주면서 만드는 이유는 그래야 나중에 사다리를 놓을지 안놓을지 검사할때 index에러에..

    15683_감시

    https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 먼저 cctv가 5개가 있는데 해당 cctv들의 각 방향마다 체크할 방향들을 세트로 묶어두었다. 예를 2번 cctv라면 [ [[0,1],[0,-1]] , [[1,0],[-1,0]] ] 위와같이 총 2개의 방향을 가지고 각각 상하나 좌우를 보게 된다. 이렇게 cctv 번호마다 방향을 정해주고 cctv가 몇개있는지 세주고, dfs를 사용해서 모든 경우를 체크했다. 위에서부터 내려가면서 각 ..