본문 바로가기

알고리즘26

[PG, 자바] 주차요금계산 0. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 핵심 차량이 주차장에 있었던 시간을 기록한 후 단위 시간만큼 나눈 뒤 그만큼 단위 요금을 계산하는 문제. 2. 문제 접근 1. 입차와 출차의 차이만큼 시간을 계산해서 적립하고 출차 하지 않았을 때는 23:59분을 출차 시간로 해서 차이만큼 시간을 적립 2. 모든 방문 차량의 번호판을 기록 및 오름차순 출력 3. 한 번이라도 방문했다면 기본 요금 부과 4. 중요 예외상황:.. 2022. 9. 20.
[PG, 자바] 합승택시요금 0. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 핵심 어느 지점에서 헤어질 것인지 구하는 것이 중요. 2. 문제 접근 첫 접근법 처음에는 각 지점별로 다익스트라를 통해서 최단 길이를 구하고 시작 지점 ~ 중간 지점 비용 + 중간 지점 ~ 끝 지점1 비용 + 중간 지점 ~ 끝 지점 2 비용을 더하는 방식으로 문제를 풀었습니다. 두번째 접근법 대부분의 케이스가 통과했지만 두 케이스에서 시간초과가 나서 시작 ~ 중간 ~ 끝.. 2022. 9. 20.
[PG, 자바] 등산코스정하기 0. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/118669 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 핵심 출발지부터 목적지까지 등산할 때 지나갈 수 있는 루트 중 가장 긴 시간의 노드가 가장 짧을 때의 목적지 번호와 가장 짧은 값을 출력하는 문제입니다. 2. 문제 접근 1. 루트는 중복해서 방문 가능합니다. 따라서 되돌아가는 루트는 고려 X 2. 이미 이전 출발점을 통해 목적지까지 도착한 루트가 있더라도 다른 출발점에서는 더 짧은 Intensity가 검출될 수 있기 .. 2022. 9. 20.
[프로그래머스, 자바] 괄호변환 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/60058 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 핵심 균형잡힌 괄호 문자열, 올바른 괄호 문자열의 정의 이해. 균형잡힌 괄호 문자열 => 올바른 괄호 문자열로의 변환 이해. 2. 문제 접근 ※균형잡힌 괄호 문자열 => 올바른 괄호 문자열의 과정으로 설명 코드 0. if (p.length() == 0) return ""; 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 코드 2. cnt = 0; //첫 문자에 대한 처.. 2022. 8. 25.
[백준, 1917, 자바] 정육면체 전개도 링크 : https://www.acmicpc.net/problem/1917 1917번: 정육면체 전개도 세 개의 입력 데이터가 주어지며, 각각의 입력 데이터는 여섯 개의 줄로 이루어져 있다. 각 데이터는 여섯 개의 줄에 걸쳐 여섯 개의 숫자가 빈 칸을 사이에 두고 주어진다. 숫자는 0 또는 1로 이 www.acmicpc.net 1. 문제 핵심 6 * 6 안에 이어져있는 6개의 1이 존재. 해당 1들로 정육면제를 만들 수 있는지 확인하는 문제 2. 문제 접근 그림 0. 정육면체를 평면으로 만들었을 때 주사위를 펼치면 이러한 모양이 된다. 그림 1. 정육면체의 각 숫자 기준 상, 하, 좌, 우 각 자리를 기준으로 상, 하, 좌, 우는 위 이미지와 같이 이루어져 있다. 그림 2. 정육면체 가능 케이스 주사위가.. 2022. 8. 24.
[백준, 1113, 자바] 수영장 만들기 https://www.acmicpc.net/problem/1113 1113번: 수영장 만들기 지민이는 수영장을 만들려고 한다. 수영장을 만들 곳의 크기는 N*M이고, 각 칸은 직육면체이다. 따라서, 각 칸의 직육면체의 높이가 쓰여 있는 다음과 같은 땅을 생각할 수 있다. 16661 61116 16661 이 www.acmicpc.net 1. 문제 핵심 물은 항상 높이가 더 낮은 곳으로만 흐르고, 직유면제 취의 표면에는 물이 없다. 땅의 높이는 0이고, 땅은 물을 무한대로 흡수할 수 있다. 2. 문제 접근 접근법 1. 한 노드부터 BFS로 주변 노드를 검사. 해당 노드의 높이보다 낮은 노드가 있으면 수영장이 될 수 없다고 판단. 가장자리와 맞닿아있으면 물이 새기 때문에 수영장 불가 판단. visit 배열로 .. 2022. 8. 4.
[백준, 18500, 자바] 미네랄2 문제 링크 : https://www.acmicpc.net/problem/18500 18500번: 미네랄 2 창영과 상근은 한 동굴을 놓고 소유권을 주장하고 있다. 두 사람은 막대기를 서로에게 던지는 방법을 이용해 누구의 소유인지를 결정하기로 했다. 싸움은 동굴에서 벌어진다. 동굴에는 미네랄 www.acmicpc.net 1. 문제 핵심 막대기로 인해 분리되는 클러스터는 막대기 당 최대 1개밖에 없습니다. 분리된 클러스터는 낙하하며 다른 미네랄이나 바닥에 부딪히기 전까지 멈추지 않습니다. 왼쪽에 던졌을 때는 클러스터가 [상, 우, 하] 로 발생할 수 있고 오른쪽에서 던졌을 때는 클러스터가 [상, 좌, 하] 로 발생할 수 있습니다. 2. 문제 접근 막대기를 던집니다. 막대기가 미네랄을 만나면 해당 미네랄을 파.. 2022. 7. 25.
[백준, 1027, 자바] 고층 건물 https://www.acmicpc.net/problem/1027 1027번: 고층 건물 세준시에는 고층 빌딩이 많다. 세준시의 서민 김지민은 가장 많은 고층 빌딩이 보이는 고층 빌딩을 찾으려고 한다. 빌딩은 총 N개가 있는데, 빌딩은 선분으로 나타낸다. i번째 빌딩 (1부터 시작) www.acmicpc.net 1. 문제 핵심 빌딩의 수는 최대 50개. 빌딩의 높이는 최대 10억보다 작거나 같은 수 2. 문제 접근 총 빌딩의 수가 50개밖에 되지 않아 완탐으로 한 빌딩과 그 외 나머지 빌딩을 모두 비교하면서 진행해도 괜찮다고 생각했습니다. [현재] 빌딩과 [비교] 빌딩 바닥 사이의 거리 / A빌딩과 B빌딩 꼭지점 사이의 거리 == 기울기 값을 구할 수 있다. 기준 빌딩 왼쪽, 오른쪽 각각 진행하며 각 기.. 2022. 7. 25.
[백준, 23791, 자바] K번째 음식 찾기 1 https://www.acmicpc.net/problem/23791 23791번: K번째 음식 찾기 1 한식 [1..3], 양식 [1..3]을 오름차순으로 나열하면 1 2 3 5 8 10이고 여기서 세 번째로 맛있는 음식 맛은 3이므로 첫 번째 질의 정답은 양식 2번이다. 한식 [1..3], 양식 [1..4]를 오름차순으로 나열하면 www.acmicpc.net 1. 문제 핵심 두 종류의 음식이 존재하기 때문에 두 번의 이분 탐색이 필요 한식과 양식 모두 첫번째부터 i, j 번째까지 범위가 존재 2. 문제 접근 이분탐색의 기준으로 특정 한식 배열 중 하나의 값을 사용했다. 그리고 해당 값보다 작은 양식의 개수를 조사해서 한식과 양식이 몇 번째인지 확인하고 두 음식의 번호를 더했을 때 k가 되는지 확인한다... 2022. 7. 7.
[백준, 17780, 자바] 새로운 게임 https://www.acmicpc.net/problem/17780 17780번: 새로운 게임 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하 www.acmicpc.net 1. 문제 핵심 흰색, 파란색, 빨간색 자리 별로 이동이 다르다. 외곽은 파란색과 동일한 타일 취급한다. 최대 1000번까지 루프를 반복하며 그 이상은 -1을 출력한다. 2. 문제 접근 말의 자리와 쌓여있는 높이를 수월히 계산하기 위해서 보드와 해당 보드 칸에 쌓여있는 말의 번호를 저장하는 3차원 배열이 존재하고 각 말들이 어느 행, 열의 칸에 몇 번째 레벨에 쌓여있는지 저장하는 2차원 배열로 관.. 2022. 7. 7.