본문 바로가기
  • "하나씩 기록하다보면 누군가에게 도움이 되지 않을까"
728x90

분류 전체보기77

[SWEA] [자바] 1949. 등산로 조성 문제 출처 swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PoOKKAPIDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 풀이 접근 ㆍ 가장 높은 봉우리를 리스트에 저장 ㆍ 모든 지도의 위치에서 1부터 K까지 등산로를 깎음 ㆍ 저장해둔 가장 높은 봉우리에서 출발해서 가장 낮은곳 까지 이동하는 거리를 BFS로 체크 ㆍ 가장 멀리 이동한 거리를 저장하고 최대값 산출을 위해 비교 후 출력 2. 소스코드 github.com/Choi-JinYeong/Solve_Alg/tree/master/Solve_Algs_SWEA/src/.. 2021. 4. 4.
[SWEA] [자바] 5656. 벽돌 깨기 문제 출처 swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRQm6qfL0DFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 풀이 접근 ㆍ 벽돌을 떨어뜨릴 수 있는 경우의 수를 순열로 산출 ㆍ 순열에 맞추어 벽돌 깨기 시작 - 순열로 뽑아낸 가로 위치에서 처음으로 만나는 벽돌세로 위치 산출 - 만약 세로에 깰 벽돌이 없으면 스킵 ㆍ 있으면 연쇄작용으로 부심 - BFS이용해서 부심. 탐색 시 부시는 벽돌의 숫자-1만큼 반복해서 상하좌우 탐색해야 됨 - 부실 수 있는 벽돌의 경우 따로 배열을 활용해서 체크 ㆍ 부실 수 있는.. 2021. 4. 3.
[백준] [자바] 3190번 : 뱀 출처 : www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 1. 풀이 접근 ㆍ 현재 바라보는 방향으로 이동 (8:상, 6:우, 4:좌, 2:하) ※ 아직 좌표는 업데이트하기 전! 앞으로 향할 위치에 대해서 다른 변수를 이용해 저장 ㆍ 지도(범위 안에 있는지) 체크 ==> flag1 ㆍ 뱀이 너무 길어서 몸끼리 부딛쳤는지 확인 ==> flag2 ㆍ 조건문 확인 1) flag1 == true && flag2 == true - 머리가 있는 위치에 사과가 있는지 확인 == .. 2021. 4. 1.
[백준] [자바] 17144번 : 미세먼지 안녕! 문제 출처 www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 1. 풀이 접근 ㆍ 미세먼지 확산 ※ 미세먼지 확산 할 때 옆에 있는 칸이 서로 미세먼지가 있어도 각각이 확산되면서 서로 영향을 끼침 - 그래서 각각에 대한 값을 구한다음에 새로운 배열에 저장해서 보관하고 있다가 모든 프로세스가 끝나면 원래 배열에 덮어 씌우는 방식으로 해결 ㆍ 미세먼지 청정 - 입구에서부터 한칸씩 밀려서 회전 후 되돌아와 없어짐, 각각의 위치에 맞춰서 배열 회전 시킴 ※ 회전할 때.. 2021. 3. 29.
[백준] [자바] 16236번 : 아기 상어 문제 출처 www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 1. 풀이 접근 ㆍ 현재 먹이를 먹을 수 있는지 확인 ( 먹이 못 먹을 경우 종료 후 시간 출력 ) ㆍ 현재 위치로 부터 가장 가까운 먹이 찾기 (BFS 탐색) - 나보다 큰 먹이는 지나가지 못함 ( 벽 같은 역할 ) - 나의 크기와 같거나 작으면 지나 갈 수 있음 ※ 물고기를 현재 크기 만큼 먹어야 크기 성장함. Ex. 상어 크기 3 -> 3번먹어야 4로 진화 ㆍ 가장 가까운 곳에 먹을 수 .. 2021. 3. 26.
[백준] [자바] 10250번 : ACM 호텔 문제 출처 www.acmicpc.net/problem/10250 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 1. 풀이 접근 ㆍ 배열로 호수를 매핑해서 접근한다. ㆍ 호수가 604, 1010호 처럼 중간에 0이들어가거나 1자리로 구성될 경우에 대해서 예외처리 해주면 난이도는 굉장히 쉬운 문제이다. ㆍ 구현할 때 나머지 ( % )를 사용해서 구할 경우 나머지가 0으로 떨어지는 경우에 대해서 예외처리가 필요하다. 2. 소스코드 github.com/Choi-JinYeong/Solve_Alg/tree/master.. 2021. 3. 26.
[백준] [자바] 16234번 : 인구 이동 문제 출처 www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 1. 풀이 접근 ㆍ 유니온으로 나눌 구역을 찾음. 이 때 기준은 서로의 차이가 L보다 크고 R보다 작아야 함. ※ 이 때 처음 찾는곳을 기준으로 DFS로 같은 구역을 지정해야 함. ㆍ 구역이 찾아지면 구역의 평균값을 구해서 같은 구역일 경우 값 덮어쓰기. ㆍ 더이상 반복 할 수 없을 때 까지 수행 2. 소스코드 github.com/Choi-JinYeong/Solve_Alg/tree/ma.. 2021. 3. 25.
[백준] [자바] 14503번 : 로봇 청소기 문제 출처 www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 1. 풀이 접근 · 로봇 청소기가 청소를 함 · 청소 한 뒤에 내가 바라보는 방향을 기준으로 왼쪽에 청소가 가능한지 체크 1. 청소가 가능한가 1-1. 청소 가능 - 왼쪽으로 회전 - 왼쪽으로 이동 - 1번으로 돌아감 - 청소한 구역의 위치를 표기하고, 지도에서 다른 숫자로 매칭 1-2. 청소 불가능 - 2번으로 이동 2. 네 방향을 확인 2-1. 네 방향이 다 청소가 되어 있거나, 벽으로 막혀 있.. 2021. 3. 24.
[백준] [자바] 15686번 : 치킨 배달 문제 출처 www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 1. 풀이 접근 ㆍ 치킨집 위치와 고객집들의 위치를 각각 저장 ㆍ 치킨집 개수 N 중 M개 만 남겼을 때의 경우의 수 추출 ( NCM의 조합 개수 만큼 나옴 ) ㆍ 각 고객집 위치에 따라 M개의 치킨집 중 가장 최소 거리 추출해서 배열에 쭉 저장 (이 배열은 각 고객집 인덱스와 매칭됌) ㆍ 각 고객집 최소거리값을 더해서 전체 최소값이랑 비교 후 출력 2. 소스코드 github.c.. 2021. 3. 23.
[일상] [맛집] 21. 03. 21. (일) 인천 백운 기차길 닭숯불구이 - 숯불닭갈비 맛집 1. 요약 페이스복에서 보고 방문한 백운역 기차길 닭숯불구이. 맛있어보여서 방문했는데 역시나 로컬에서는 인기가 많은지 대기자가 있었다. 우리 앞에 6테이블정도 대기자가 있었고, 전화번호를 남겨놓으면 차례가 되었을때 일일이 전화해서 방문여부 확인해주신다. 그래서 우리도 예약해 놓고 주변에서 쉬다 왔다. (사실 차에 들어가 있었다. - 커피숍같은데서 오신 손님들도 있더라..) 기다림이 있는 집은 역시 이유가 있듯이 맛있었다. 실내와 앞에 포장마차처럼 테이블을 놓고 먹을 수 있다. 기회가 되면 한번 방문해 보시길 추천합니다! 2. 후기 위치는 백운역 3번출구로 나와서 길을 넘어가야 된다! 넘어서 큰길이 아니라 기차길 따라서 조금만 걸어가면 가게를 만날 수 있다. 우리는 6시 30분쯤 방문하였는데, 30분정도 .. 2021. 3. 23.
[백준] [자바] 14888번 : 연산자 끼워넣기 문제 출처 www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 1. 풀이 접근 ※ 연산자 순서에 곱하기 나누기 먼저 더하기 빼기 나중에 이런식이 아님! 기존의 법칙을 따라가지 않고 무조건 순서대로 진행 입력을 받아서 숫자들 따로 배열에 저장, 더하기 빼기 곱하기 나누기는 각 1,2,3,4 숫자로 매칭 더하기 빼기 곱하기 나누기 개수에 대한 순열(순서가 있는 경우의 수) 계산 순열 순서에 따라 입력된 수들을 .. 2021. 3. 21.
[백준] [자바] 15683번 : 감시 문제 출처 www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 1. 풀이 접근 ㆍ CCTV는 최대 8개 까지 설치 할 수 있음. 가로 또는 세로 방향으로 회전 가능 - 최대 경우의 수가 4^8 나옴. ㆍ 경우의 수에 따라 카메라 특성에 맞게 탐색 가능한지 확인 - 벽을 만나거나, 경계 밖으로 나가면 취소 ※ 나는 완전 하드코딩해서 모든 경우의 수 카메라 종류 5대, 방향 4개에 맞추어 구분해서 탐색 진행하게 코드 짬. 무식하게 짬. ㆍ 탐색 다 되면 .. 2021. 3. 20.
[백준] [자바] 14501번 : 퇴사 문제 출처 www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 1. 풀이 접근 조합으로 날짜 종류 계산 기준일까지 일 할 수 있는지 확인 벌 수 있는 금액 최대 값 계산 2. 소스코드 github.com/Choi-JinYeong/Solve_Alg/tree/master/Solve_Algs/src/Git_BJ_14501 Choi-JinYeong/Solve_Alg 알고리즘 풀이. Contribute to Choi-JinYeong/Solve_Alg development by creating an account on GitHub. github.com 3. 맺음말 체감 난이도 : 보통 백트래킹으로도 풀 수 있.. 2021. 3. 19.
[백준] [자바] 14499번 : 주사위 굴리기 문제 출처 www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도 www.acmicpc.net 1. 풀이 접근 ㆍ주사위 모양을 배열로 정의함 - 0 뒤 0 - 좌 상 우 - 앞 - 하 ※ (주의) 입력을 받을 때 보통 생각하는 x, y 축이 바뀌어 있음. ㆍ주사위 이동 - 이동하면서 현재 주사위 값을 임시 변수에 저장하고 이동할 때마다 바뀌는 값들을 매칭해서 넣어줌 - if (이동하려고 하는 곳이 벽이면) * 이동 안함, 결과값.. 2021. 3. 19.
[백준] [자바] 14889번 : 스타트와 링크 문제 출처 : www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 1. 풀이 접근 조합으로 nCr 구함. n은 입력으로 주어지고 r은 n/2임. 나는 home팀, away팀으로 구분하였음. (Ex. 만약 사람수가 4면 2로 조합을 구하고 나머지 2가 상대팀, 사람수가 6이면 3으로 조합을 구하고 나머지 3이 상대팀 순) home팀, away팀에 대하여 점수를 다 더해야됌 (Ex. 1,2 3,4 로 팀이 나누어졌을 경우 S12와 S21 둘다 더해야됌 away 도 마찬가지) (Ex. 1.. 2021. 3. 18.
728x90