Coding Test/programmers
-
[프로그래머스] 모음사전 c++Coding Test/programmers 2022. 10. 11. 15:26
문제 설명 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요. 제한 사항 word의 길이는 1 이상 5 이하입니다. word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다. 입출력 예 word result "AAAAE" 6 "AAAE" 10 "I" 1563 "EIO" 1189 풀이 #include #include using namespace std; s..
-
[프로그래머스] 할인 행사 c++Coding Test/programmers 2022. 10. 11. 14:03
문제 설명 XYZ 마트는 일정한 금액을 지불하면 10일 동안 회원 자격을 부여합니다. XYZ 마트에서는 회원을 대상으로 매일 한 가지 제품을 할인하는 행사를 합니다. 할인하는 제품은 하루에 하나씩만 구매할 수 있습니다. 알뜰한 정현이는 자신이 원하는 제품과 수량이 할인하는 날짜와 10일 연속으로 일치할 경우에 맞춰서 회원가입을 하려 합니다. 예를 들어, 정현이가 원하는 제품이 바나나 3개, 사과 2개, 쌀 2개, 돼지고기 2개, 냄비 1개이며, XYZ 마트에서 15일간 회원을 대상으로 할인하는 제품이 날짜 순서대로 치킨, 사과, 사과, 바나나, 쌀, 사과, 돼지고기, 바나나, 돼지고기, 쌀, 냄비, 바나나, 사과, 바나나인 경우에 대해 알아봅시다. 첫째 날부터 열흘 간에는 냄비가 할인하지 않기 때문에 첫..
-
[프로그래머스] 빛의 경로 사이클 c++Coding Test/programmers 2022. 10. 4. 11:44
문제 설명 S, L , R 방향이 주어진다. S는 직진, L 은 좌회전, R은 우회전 한다. (빛이 들어온 방향 기준) 기존에 방문한 좌표를 같은 방향으로 재방문한 경우 "싸이클"이 형성된다. ※사이클 : 같은 좌표, 같은 방향 으로 재방문 빛이 격자의 끝을 넘어갈 경우, 반대쪽 끝으로 다시 돌아옵니다. 예를 들어, 빛이 1행에서 행이 줄어드는 방향으로 이동할 경우, 같은 열의 반대쪽 끝 행으로 다시 돌아옵니다. 사이클을 찾고, 각 사이클의 길이를 구하는 문제이다. 제한 사항 1 ≤ grid의 길이 ≤ 500 1 ≤ grid의 각 문자열의 길이 ≤ 500 grid의 모든 문자열의 길이는 서로 같습니다. grid의 모든 문자열은 'L', 'R', 'S'로 이루어져 있습니다. 입출력 예 grid result..
-
[프로그래머스] 전력망을 둘로 나누기 c++Coding Test/programmers 2022. 9. 30. 13:20
문제 설명 n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한 비슷하도록 두 전력망으로 나누었을 때, 두 전력망이 가지고 있는 송전탑 개수의 차이(절대값)를 return 하도록 solution 함수를 완성해주세요. 제한 사항 n은 2 이상 100 이하인 자연수입니다. wires는 길이가 n-1인 정수형 2차원 배열입니다. wires의 각 원소는 [v1, v2] 2개의 자연수로 이루어져 있으며, 이는 전력망..
-
[프로그래머스] n^2 배열 자르기 c++Coding Test/programmers 2022. 9. 29. 19:07
문제 설명 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다. 1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다. 새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지웁니다. 정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을 return 하도록 solution 함수를 완성해주세요. 제한 사항 1 ≤ n ..
-
[프로그래머스] 교점에 별 만들기 c++Coding Test/programmers 2022. 9. 29. 14:58
문제 설명 Ax + By + C = 0 형태로 되어 있는 n개의 직선이 (A, B, C) 로 2차원 벡터로 데이터를 제공한다. n개의 직선들의 교점 중 정수로만 이루어진 교점을 찾고, 교점에는 "*" 별 모양으로 표시하고 나머지 좌표는 "."으로 채운다. 격자판은 무한히 넓으니 모든 별을 포함하는 최소한의 크기만 나타낸다. ※참고 사항 Ax + By + E = 0 Cx + Dy + F = 0 두 직선의 교점이 유일하게 존재할 경우, 그 교점은 다음과 같습니다. 또, AD - EC = 0 인 경우 두 직선은 평행 또는 일치합니다. 제한 사항 line의 세로(행) 길이는 2 이상 1,000 이하인 자연수입니다. line의 가로(열) 길이는 3입니다. line의 각 원소는 [A, B, C] 형태입니다. A, ..