본문 바로가기

알고리즘, 문제해결/알고리즘 문제풀이80

[프로그래머스] 메뉴 리뉴얼 난이도: Level 2 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 2020년 하반기에 진행됐던 '2021 KAKAO Blind Recruitment' 기출문제입니다. 개인적으로 이 문제는 Level 2가 아닌 것 같습니다... Level 3 정도는 되어야할듯 합니다 ㅠㅠ 기본적으로는 탐색을 이용하여 가능한 경우의 수 중 특정 조건을 만족하는 경우를 찾는 것입니다. 문제가 길어서 요구조건을 이해.. 2022. 3. 18.
[프로그래머스] 짝지어 제거하기 난이도: Level 2 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 짝지어 있는 문자를 제거할 때, 모든 문자를 제거할 수 있는지 여부를 확인하여 출력하는 문제입니다. 문자열의 길이는 최대 100만이고, 여러 번 검사해야 할 수도 있기 때문에 시간복잡도를 고려해서 짜야 합니다. 제가 생각한 방법입니다. stack 자료구조를 이용해서 해결하며, 아래와 같은 과정을 거칩니다. stac.. 2022. 3. 17.
[프로그래머스] 124 나라의 숫자 난이도: Level 2 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 10진수 입력값을 '124 숫자'로 바꾸어 출력하는 문제입니다. 124 숫자는 모든 값을 '1', '2', '4'를 이용해 나타냅니다. 문제에서 주어진 예시를 확장해 보면 아래와 같습니다. 10진수 124 숫자 10진수 124 숫자 10진수 124 숫자 1 1 6 14 11 42 2 2 7 21 12 44 3 4 8 22 13 111 4 11 9 24 14 112 5 12 10 41 15 114 접근한 방법 숫자 3개를 이용하여 값을 나타낸다고 하면, 바로 떠오르는 것이 '3진법' 입니다. 2진법이.. 2022. 3. 16.
[프로그래머스] 카카오프렌즈 컬러링북 난이도: Level 2 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 그림이 주어졌을 때, 상하좌우가 같은 색깔인 경우 '이어져 있다'고 부릅니다. 이어져 있는 영역의 개수를 구하고, 그 중 가장 넓이가 큰 영역의 넓이를 구하는 문제입니다. 단, 색깔이 0인 경우에는 그림이 아닌 것으로 판단하여 넓이의 갯수 및 크기에 합산하지 않습니다. 같은 색이 어디까지 이어져 있는지 확인하려면 탐색을 해야 하므.. 2022. 3. 11.
[프로그래머스] 단체사진 찍기 난이도: Level 2 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/1835 코딩테스트 연습 - 단체사진 찍기 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 programmers.co.kr 8명의 사람이 줄을 설 때, 주어진 조건을 만족하는 경우의 수를 세는 문제입니다. 아무 조건이 없을 때, 8명의 사람이 줄을 설 수 있는 경우의 수는 8! = 40320 이 됩니다. 따라서 모든 경우의 수를 탐색해 보기에 크게 문제가 되지 않습니다. 조건의 수는 최소 1개에서 최대 100개가 주어집니다. 두 사람 A와 B 사.. 2022. 3. 10.
[백준 4179번] 불! 난이도: 골드 IV 문제 링크: https://www.acmicpc.net/problem/4179 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문 www.acmicpc.net 참고한 글: BOJ 질문 게시판의 반례 모음 https://www.acmicpc.net/board/view/31494 leeinae 님의 블로그 글 https://velog.io/@leeinae/Algorithm-%EB%B0%B1%EC%A4%80-4179-%EB%B6%88-java Java 피지컬 늘리기 목적으로 풀어 본 문제입니다. 쉽게 생각하고 접.. 2022. 1. 23.