알고리즘 문제풀이/BOJ
-
안녕하세요 호호만두에요 이번에는 백준 알고리즘 15649번 N과 M (1) 문제에요 N과M 문제는 워낙 많아서 문제집으로도 만들어져있는데요 이번에 다 풀었어요!! 그 중에 제일 베이스가 되는 기본 문제인 15649번 N과 M 풀이 해보려구요 https://www.acmicpc.net/problem/15649 불러오는 중입니다... 이 문제는 백 트래킹을 이용하면 되는 문제에요 저는 재귀로 순열을 구해서 만들었어요 우선 배열에 1부터 n까지의 숫자를 담았어요 그리고 이 값을 가지고 재귀를 통해 모든 경우의 수를 따져주었어요 이때 '1 2'도 되고 '2 1'도 되기 때문에 순열을 찾아주면 됩니다 배열의 앞쪽 인덱스 부터 가능한 순열을 모두 찾으면 답이에요 배열을 순회하면서 output이라는 배열에 순열을 담..
[백준 알고리즘] 15649번 N과 M (1) (백트래킹)안녕하세요 호호만두에요 이번에는 백준 알고리즘 15649번 N과 M (1) 문제에요 N과M 문제는 워낙 많아서 문제집으로도 만들어져있는데요 이번에 다 풀었어요!! 그 중에 제일 베이스가 되는 기본 문제인 15649번 N과 M 풀이 해보려구요 https://www.acmicpc.net/problem/15649 불러오는 중입니다... 이 문제는 백 트래킹을 이용하면 되는 문제에요 저는 재귀로 순열을 구해서 만들었어요 우선 배열에 1부터 n까지의 숫자를 담았어요 그리고 이 값을 가지고 재귀를 통해 모든 경우의 수를 따져주었어요 이때 '1 2'도 되고 '2 1'도 되기 때문에 순열을 찾아주면 됩니다 배열의 앞쪽 인덱스 부터 가능한 순열을 모두 찾으면 답이에요 배열을 순회하면서 output이라는 배열에 순열을 담..
2020.01.23 -
이 문제도 역시 시뮬레이션 문제에요 삼성 코딩 테스트 문제는 시뮬레이션 문제가 많은것 같아요 구현 사항이 주어졌을때 그것을 그대로 구현할 수 있느냐 없느냐?? 그걸 많이 테스트 하나봐요 문제는 아래에서 풀어보실 수 있어요 https://www.acmicpc.net/problem/15685 이번 문제는 class 두개를 선언해서 코딩했어요 Point 클래스와 Dragon 클래스 Point 클래스는 말그대로 점에 대한 정보를 담는 클래스이고 Dragon 클래스는 드래곤 점의 정보와 방향 세대를 나타내요 맵에 처음 드래곤 커브의 시작점을 찍었는데요 (map[y][x] = 1) 여기서 문제의 x,y와 저희가 기본적으로 생각하는 xy의 축이 반대로 되어있어요!! (이 부분이 key point) 먼저 initDra..
[백준 알고리즘, 시뮬레이션] 삼성 코딩 테스트 문제 :: 15686번 드래곤 커브 자바 풀이이 문제도 역시 시뮬레이션 문제에요 삼성 코딩 테스트 문제는 시뮬레이션 문제가 많은것 같아요 구현 사항이 주어졌을때 그것을 그대로 구현할 수 있느냐 없느냐?? 그걸 많이 테스트 하나봐요 문제는 아래에서 풀어보실 수 있어요 https://www.acmicpc.net/problem/15685 이번 문제는 class 두개를 선언해서 코딩했어요 Point 클래스와 Dragon 클래스 Point 클래스는 말그대로 점에 대한 정보를 담는 클래스이고 Dragon 클래스는 드래곤 점의 정보와 방향 세대를 나타내요 맵에 처음 드래곤 커브의 시작점을 찍었는데요 (map[y][x] = 1) 여기서 문제의 x,y와 저희가 기본적으로 생각하는 xy의 축이 반대로 되어있어요!! (이 부분이 key point) 먼저 initDra..
2019.10.30 -
이 문제는 난이도가 조금 있다고 생각해요 처음에 어떻게 풀어야 될까 고민을 좀 많이 했어요 코드만 본다면 어려워 보이진 않지만 그동안 풀었던 브루트 포스 문제랑은 조금 달랐어요 cctv마다 방향을 4가지 바꿔서 돌려줘야 했기 떄문이었어요 문제는 아래 사이트에서 풀어보실 수 있어요 https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감시할 수 있는 방법은 다음과 같다. 1번 CCTV는 한 쪽 방향만 감시할 수 있다. 2번과 3번은 두 방향을 감시할 수 있는데, 2번은 감..
[백준 온라인 저지(BOJ), 브루트 포스] 삼성 코딩 테스트 문제 :: 15683번 감시 자바 풀이이 문제는 난이도가 조금 있다고 생각해요 처음에 어떻게 풀어야 될까 고민을 좀 많이 했어요 코드만 본다면 어려워 보이진 않지만 그동안 풀었던 브루트 포스 문제랑은 조금 달랐어요 cctv마다 방향을 4가지 바꿔서 돌려줘야 했기 떄문이었어요 문제는 아래 사이트에서 풀어보실 수 있어요 https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감시할 수 있는 방법은 다음과 같다. 1번 CCTV는 한 쪽 방향만 감시할 수 있다. 2번과 3번은 두 방향을 감시할 수 있는데, 2번은 감..
2019.10.28 -
이 문제는 BOJ 14891번 톱니바퀴 문제에요 문제만 잘 이해한다면 그리 어렵지는 않은것 같은데 시간이 좀 걸렸어요 ㅠㅠ 세 번만에 성공했네요... 문제는 아래 사이트에서 풀어보실 수 있어요 https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴의 회전은 한 칸을 기준으로 한다. 회전은 시계 방향과 반시계 방향이 있고, 아래 그림과 같이 ..
[백준 알고리즘, ] 삼성 코딩 테스트 문제 :: 14891번 톱니바퀴 자바 풀이이 문제는 BOJ 14891번 톱니바퀴 문제에요 문제만 잘 이해한다면 그리 어렵지는 않은것 같은데 시간이 좀 걸렸어요 ㅠㅠ 세 번만에 성공했네요... 문제는 아래 사이트에서 풀어보실 수 있어요 https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴의 회전은 한 칸을 기준으로 한다. 회전은 시계 방향과 반시계 방향이 있고, 아래 그림과 같이 ..
2019.10.27 -
안녕하세요 호호만두에요 이번에 풀어볼 문제는 삼성 코테 문제인 14501번 문제에요 이는 백준 온라인 저지에서 풀어볼 수 있어요!!! https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 이 문제는 다른 시뮬레이션 문제들 보다는 금방 풀었어요 난이도가 그렇게 높지도 않아서 풀만해요 저는 푸는데 정확히 재지는 않았지만 2시간 조금 넘게 걸린것 같아요 휴... 정말 귀신 처럼 빨리 풀기는 너무 힘든것 같아요 1. N+1일쨰 되는날 퇴사를 한다 2. 하루에 하나씩 상담을 잡아서 스케줄이 있다. 3. 상담 하나를 하고 있으면 다른 상담을 동시에 진행하지 못한다. 우선 끝 쪽에 즉, 퇴사 직전에..
[백준 알고리즘, 다이나믹 프로그래밍] 삼성 코딩 테스트 문제 기출 :: 14501번 퇴사 자바 풀이안녕하세요 호호만두에요 이번에 풀어볼 문제는 삼성 코테 문제인 14501번 문제에요 이는 백준 온라인 저지에서 풀어볼 수 있어요!!! https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 이 문제는 다른 시뮬레이션 문제들 보다는 금방 풀었어요 난이도가 그렇게 높지도 않아서 풀만해요 저는 푸는데 정확히 재지는 않았지만 2시간 조금 넘게 걸린것 같아요 휴... 정말 귀신 처럼 빨리 풀기는 너무 힘든것 같아요 1. N+1일쨰 되는날 퇴사를 한다 2. 하루에 하나씩 상담을 잡아서 스케줄이 있다. 3. 상담 하나를 하고 있으면 다른 상담을 동시에 진행하지 못한다. 우선 끝 쪽에 즉, 퇴사 직전에..
2019.10.26 -
안녕하세요 호호만두에요 이번에는 치킨 배달 문제!!! 방금 막 치킨 먹고 왔는데 ㅎㅎㅎ (tmi) 아무튼 풀어 봅시다!! 문제에 대한 자세한 내용은 아래를 참고하세요!! https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로 사용한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨..
[백준 알고리즘, 브루트 포스] 삼성 코딩 테스트 문제 :: 15686번 치킨 배달 자바 풀이안녕하세요 호호만두에요 이번에는 치킨 배달 문제!!! 방금 막 치킨 먹고 왔는데 ㅎㅎㅎ (tmi) 아무튼 풀어 봅시다!! 문제에 대한 자세한 내용은 아래를 참고하세요!! https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로 사용한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨..
2019.10.26