본문 바로가기

분류 전체보기

(126)
[BOJ] 백준 3055. 탈출 ▶문제설명[BOJ] 3055. 탈출 https://www.acmicpc.net/problem/3055 ▶Hint매 초마다 물이 퍼져나가는 것을 먼저 처리한 뒤 고슴도치가 이동 가능한 경로로 이동하게 하면 된다. BFS를 활용하면 도착지까지 이동 가능한 모든 경로를 탐색해볼 수 있다. 도착지에 도달했을 때 걸린 시간이 가장 짧은 것을 정답으로 한다. ▶Solution
[SWEA] 5644. 무선 충전 ▶문제설명[SWEA] 5644. 무선 충전 https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRDL1aeugDFAUo ▶Hint각 BC의 충전 가능 영역을 3차원 배열로 저장한다. 그러면 사용자 A와 B가 현재 위치에서 접속할 수 있는 BC를 모두 체크할 수 있다. 사용자 A와 B를 1초에 한칸씩 이동시키고, 매 초마다 현재 위치에서 접속할 수 있는 BC를 모두 체크하면서 (완전 탐색) 가장 큰 충전량 누적 값을 찾으면 된다. A와 B가 같은 BC의 영역에 속하는 경우 충전량을 반으로 나누어 가지게 된다는 점을 주의해야 한다. ▶Solution
[SWEA] 4014. 활주로 건설 ▶문제설명[SWEA] 4014. 활주로 건설https://www.swexpertacademy.com/main/code/problem/problemSubmitHistory.do?contestProbId=AWIeW7FakkUDFAVH ▶Hint땅의 높이들이 주어진다.땅의 높이 차가 1인 경우에 경사로를 놓아 활주로를 연결할 수 있다. 경사로의 높이는 항상 1이며, 세로로 세울 수 없다. 단, 경사로의 길이 X가 주어지는데활주로를 만드는 과정에서경사로가 길어서 놓을 공간이 부족한 경우,경사로가 겹쳐지게 놓이는 경우는 허용하지 않는다. 가로, 세로로 완성될 수 있는 활주로 라인의 개수를 구하는 문제다. 내리막길과 오르막길로 나누어서 생각하고내리막길일때 경사로를 놓는 경우 그 위치를 체크해두고,오르막길일때 경사로..
[SWEA] 6808. 규영이와 인영이의 카드게임 ▶문제설명[SWEA] 6808. 규영이와 인영이의 카드게임https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWgv9va6HnkDFAW0 ▶Hint1부터 18까지의 숫자로 이루어진 카드가 있을 때,규영이가 9장, 인영이도 9장으로 나눠 가지고 간단한 카드 게임을 한다. [게임 규칙]각자 가지고 있는 카드들 중 하나를 뽑아서 낸다.카드의 번호가 더 큰 사람이 승리하며, 승리자는 제출한 카드 두 장의 합을 점수로 얻는다. 규영이는 카드를 받은 순서대로 제출하는 것으로 고정한다.인영이는 9!의 모든 경우의 수로 카드를 제출할 수 있다. 이 게임에서 규영이가 승리하는 경우의 수와, 지는 경우의 수를 계산하여 출력해야한..
조합 생성 알고리즘 ▶조합 (Combination)서로 다른 n개의 원소 중에서 순서에 상관 없이 r개를 취하는 것을 'n개에서 r개를 택하는 조합'이라고 한다. (표기 : nCr) ▶필요성문제를 해결하는 과정에서 n개의 숫자 중 r개를 선택할 때선택된 r개의 숫자들의 합이 최대/최소가 되는 경우를 찾아야 하는 경우가 있다. 불가피하게 모든 경우를 확인해보는 수밖에 없다면어떤 소스코드를 작성해서 문제를 해결해야할까? ▶예제 : 5C3의 모든 경우를 출력하라.[주어진 원소]15, 23, 5, 1, 42 [결과]15 23 515 23 115 23 4215 5 115 5 4215 1 4223 5 123 5 4223 1 425 1 42 ▶Hint재귀 함수로 구현하면 간단한 코드로 해결할 수 있게 된다.주어진 원소들을 저장할 길이 ..
[Java] 숫자 야구 게임 ▶프로그램 설명컴퓨터가 0~9 사이의 숫자 3개를 중복되지 않게 선택한다. [컴퓨터가 선택한 숫자]2 0 7 사용자도 0~9 사이의 숫자 3개를 중복되지 않게 선택한다. [사용자가 선택한 숫자]5 2 7 사용자가 고른 숫자 3개를 컴퓨터가 선택한 숫자 3개와 비교했을 때숫자가 포함되어 있지만 위치가 일치하지 않는 경우에는 ball숫자가 포함되어 있고 위치까지 일치하는 경우에는 strike숫자가 포함되어 있지 않은 경우에는 out [결과]1 strike 1 ball 1 out 사용자가 주어진 도전 횟수 내에 숫자 3개를 입력하여 숫자의 종류와 위치까지 모두 맞추면 승리하는 게임이다.즉, 결과가 3 strike 0 ball 0 out인 경우에 사용자의 승리로 게임이 종료된다. ▶소스코드123456789101..
[SWEA] 5653. 줄기세포배양 ▶문제설명[SWEA] 5653. 줄기세포배양https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRJ8EKe48DFAUo&categoryId=AWXRJ8EKe48DFAUo&categoryType=CODE ▶Hint입력으로 주어지는 K의 최대값이 300이므로세포의 생명력이 모두 1이라고 가정했을 때 상하좌우 최대 150개씩 번식해 나갈 수 있다. 입력으로 주어지는 세포의 정보를 저장할 2차원 배열을 하나 만들고좌표의 시작값을 한 가운데로 하여 세포의 생명력 값을 입력받는다. [각 세포가 가지는 정보]1. 비활성/활성/죽음을 나타내는 상태 정보2. 생명력3. 좌표4. 번식의 여부5. 상태가 변화할 다음 시간에 대..
Git 기초 명령어 정리 ▶설명 & 명령어 - 현재 디렉토리를 작업 공간(working directory)으로 초기화한다.git init [디렉토리명] - 현재 상태를 보여준다.git status - 해당 파일을 관리할 수 있도록 선언한다. 즉 commit 대기 상태로 전환된다. (파일이 staging area에 올라가게 됨)git add [파일명] - 버전을 만든다. 버전이란 의미있는 변화를 말한다. 변경 사항(commit 대기중인 파일들)을 repository에 commit ID로 저장한다.git commit -a : 모든 변경사항을 add한 뒤 commit 함 (한 번도 add된 적 없는 파일은 무시됨)-m "[commit message]" : commit message를 인라인에서 처리함 - history를 보여준다.gi..