Problem Solving
-
[백준] 2531 회전초밥Problem Solving/Baekjoon Online Judge 2020. 5. 27. 19:27
✔️ 문제 링크 https://www.acmicpc.net/problem/2531 2531번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤ www.acmicpc.net ✔️ 문제 이해 ◾ 회전하는 벨트위에 여러 종류의 초밥이 놓여있다. (종류는 번호로 표시) ◾ 임의의 한 위치부터 k개의 접시를 연속해서 먹으면 할인을 받을 수 있다. ◾ 한 장의 초밥 쿠폰이 주어진다. k개의 연속된 초밥 구간에 쿠폰에 해당하는 초밥이 없으면 해당 초밥을 준다. ◾ 할인은 받는 방식으로 초밥을 먹었을때, 최대 몇 개의 초밥을..
-
[백준] 1664 소수의 연속합Problem Solving/Baekjoon Online Judge 2020. 5. 19. 00:03
✔️ 문제 링크 https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 문제 하나 이상의 연속된 소수의 합으로 나타낼 수 있는 자연수들이 있다. 몇 가지 자연수의 예를 들어 보면 다음과 같다. 3 : 3 (한 가지) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (세 가지) 53 : 5+7+11+13+17 = 53 (두 www.acmicpc.net ✔️ 문제 이해 ◾ 연속된 소수의 합으로 나타낼 수 있는 자연수 N이 주어진다. ◾ 자연수 N을 연속된 소수의 합으로 나타낼 수 있는 경우의 수를 구해야한다. ◾ 연속된 소수란 다음을 말한다. 2, 3, 5, 7, 11, 13 ◾ 다음은 연속된 소수가 아니다. 2, 3, 5, 7, 11, 17 (중간에 13..
-
[백준] 14465번 소가 길을 건너간 이유 5Problem Solving/Baekjoon Online Judge 2020. 5. 16. 23:05
✔️ 문제 링크 https://www.acmicpc.net/problem/14465 14465번: 소가 길을 건너간 이유 5 문제 농부 존의 농장에 원형 길이 있다고 했지만, 길은 그뿐만이 아니다. 그 옆에 일자형 길이 있는데, 1번부터 N번까지의 번호가 붙은 횡단보도 N (1 ≤ N ≤ 100,000)개로 이루어져 있다. 교통사고�� www.acmicpc.net ✔️ 문제 이해 ◾ 일자형 길에 횡단보도 N개가 있다. (1 ≤ N ≤ 100,000) ◾ 뇌우로 인해 몇몇 횡단보도가 고장나있다. ◾ 연속한 K개의 신호등이 존재하도록 신호등을 수리하려고 한다. ◾ 연속한 K개의 신호등이 존재하도록 최소 몇 개의 신호등을 수리해야 하는지 출력한다. ✔️ 설계 ◾ 수리한 신호등의 개수를 이분 탐색을 통해 찾는다..
-
[프로그래머스] 튜플Problem Solving/Programmers 2020. 5. 8. 19:28
✔️ 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✔️ 풀이 - 튜플을 구하려면, 우선 주어진 집합을 크기 순으로 오름차순 정렬한다. - "{{1,2,3},{2,1},{1,2,4,3},{2}}" -- > "{{2},{2,1},{1,2,3},{1,2,4,3}}" - 원소 수가 K인 집합과 K – 1인 집합의 차집합(단, K > 1)의 원소가 튜플의 K번째 원소를 나타낸다. - 위와 같은 방법을 그대로 구현하면 된다. ✔️ 문제 회고 - 문제를 ..
-
[프로그래머스] 후보키Problem Solving/Programmers 2020. 5. 7. 15:08
✔️ 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✔️ 풀이 - 릴레이션(DB 테이블)이 주어지고, 후보키의 최대 개수를 구하는 문제이다. - 후보키는 유일성과 최소성을 만족해야한다. - 유일성은 set을 활용하여 컬럼의 중복여부를 확인하는 방법으로 체크했다. - 최소성은 후보키를 이루는 속성들의 부분 집합중 유일성을 만족하는 집합이 있는지 확인하는 방법으로 체크했다. 후보키를 이루는 속성들의 모든 부분 집합에서 유일성을 만족시키는 집합이 있..
-
[프로그래머스] 오픈채팅방Problem Solving/Programmers 2020. 5. 4. 18:19
✔️ 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✔️ 풀이 - map을 사용한다. - 채팅방에 들어오거나(Enter) 닉네임을 바꿀때(Change) 유저 아이디를 key 값으로 사용해서 닉네임을 바꿔준다. ✔️ 문제 회고 - map을 이용하는 문제였다. - istringstream을 사용해서 공백을 기준으로 문자열을 손쉽게 자를 수 있다. 👨🏻💻 소스 코드 #include #include #include using namespace std..
-
[프로그래머스] 프렌즈 4블록Problem Solving/Programmers 2020. 5. 3. 22:59
✔️ 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✔️ 문제 이해 1. 문제 조건대로 구현하면된다. 2x2 공간에 같은 모양의 블록이 있으면 터뜨리고, 빈공간은 위에서 아래로 채운다. ✔️ 설계 - 2x2 공간에 같은 모양의 블록이 있으면 check 배열에 체크해둔다. ✔️ 문제 회고 - 2x2 위치에 같은 모양의 블록이 있는지 확인하는 작업을 재귀로 구현했더니 시간초과가 났고, 구현이 복잡해졌고, 오답이 나왔다. - 2x2 위치라고 명시되어..
-
[백준] 10971 외판원 순회 2Problem Solving/Baekjoon Online Judge 2020. 5. 1. 15:17
✔️ 문제 링크 https://www.acmicpc.net/problem/10971 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j로 가기 위한 비용을 나타낸다. 항상 순회할 수 있는 경우만 입력으로 주어진다. www.acmicpc.net ✔️ 문제 이해 1. N개의 도시가 존재하고, 각 도시는 도로로 연결되어 있다. 각 도시간에 이동할때 비용을 지불해야한다. 2. W[i][j]는 도시 i에서 도시 j로 가기 위한 비용을 나타낸다. 비용은 대칭적이지 않다. 즉, W[i][j] 는 W[j][i]와..