Computer Science/프로그래머스
-
프로그래머스 [1차]프렌즈4블록Computer Science/프로그래머스 2023. 9. 28. 22:25
https://school.programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나는 이 문제를 4개의 블럭이 같다면, set에 좌표를 담는 방식부터 접근했다. 그리고 set의 값이 비어있지 않다면, 해당 블록을 부시는데 블록의 위에서부터 아래까지 해당 블록을 제거하도록 구현했다. 그리고 set과, 블록을 탐색하는 함수를 재귀적으로 해서 구현했다. #include #include #include #include using namespace std; void drop_block..
-
프로그래머스 Lv2 [1차]캐시Computer Science/프로그래머스 2023. 9. 28. 16:38
https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나는 이 문제를 deque를 사용해서 풀었다. 캐쉬에서 데이터를 조회 후 캐쉬에 데이터가 있으면 데이터를 찾을 때 사용한 인덱스로 캐쉬에 중복 된 데이터를 삭제했다. 데이터가 없으면 캐쉬에서 제일 앞에 값을 삭제하고, 데이터를 추가했다. #include #include #include #include using namespace std; int solution(int cacheSize, vecto..
-
프로그래머스 Lv2 [3차]압축Computer Science/프로그래머스 2023. 9. 26. 11:15
https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 길이가 1인 모든 단어를 포함하도록 사전을 초기화한다. 2. 사전에서 현재 입력과 일치하는 가장 긴 문자열 w를 찾는다. 3. w에 해당하는 사전의 색인 번호를 출력하고, 입력에서 w를 제거한다. 4. 입력에서 처리되지 않은 다음 글자가 남아있다면(c), w+c에 해당하는 단어를 사전에 등록한다. 5. 단계 2로 돌아간다. 나는 이 문제를 사전에 A ~ Z까지 미리 등록을 하고, 사전에 등록..
-
프로그래머스 Lv2 [3차]파일명 정렬Computer Science/프로그래머스 2023. 9. 26. 10:17
https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 파일이름을 파싱 받아서 정렬하는 문제이다. 파일 이름은 HEAD, NUMBER, TAIL로 나뉘어지는데 HEAD는 대,소문자 문자열, NUMBER는 00000 이나 0101이 가능한 숫자, TAIL은 나머지 부분이다. 간단하게 전체 코드는 파싱받은 후 정렬하는식으로 풀었다. 파싱을 위해 구조체를 선언했다. struct FILE_INFO { string head; int number; i..
-
프로그래머스 Lv2 [3차]n진수 게임Computer Science/프로그래머스 2023. 9. 26. 08:48
https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제는 다음과 같다. 참가자들이 순서대로 문자를 번갈아가며 말한다. 예를들면 10진수 일 때 세 사람이 있다면 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13...문자열에서 순서대로 문자를 말하면 되는데 10이상 부터는 앞의 문자를 끊어서 말한다. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3... 따라서 n이라는 숫..
-
프로그래머스 Lv2 의상Computer Science/프로그래머스 2023. 9. 24. 11:00
https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나는 이 문제를 조합 문제로 접근했다. 문제가 선글라스 하나만 입어도 옷을 입은 것으로 쳐줘 이상하지만 만약 파란색 티셔츠와 검정 선글라스가 있다면 파란색 티셔츠를 입는 경우의 수 1 검정 선글라스를 입는 경우의 수 1 둘다 입지 않는 경우의 수 1 얼굴, 상의, 하의, 겉옷에 위와 같은 식으로 경우의 수를 더해주면 된다. 모든 옷을 입지 않는 경우의 수는 존재하지 않으므로 -1을 해준다. #in..
-
프로그래머스 Lv2 다리를 지나는 트럭Computer Science/프로그래머스 2023. 9. 24. 10:29
https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 코드를 보고, 현재 다리를 건널 수 있는 수만큼의 트럭을 큐에 넣고 큐에서 하나씩 빼가며 다리의 길이 만큼 시간 수를 누적 해 갔다. 이렇게 된다면 하나의 다리에 한개의 트럭만 다리를 건널 수 있는 거이므로 잘못된 풀이였다. 그렇다면 하나의 다리에 트럭을 여러대 올리는 것을 구현할려면 어떻게 해야 할까? 바로, 트럭을 다리를 건널 수 있는 만큼 큐에 넣고 가비지 값을 넣어주는 것이였다. 그리..
-
프로그래머스 Lv2 스택/큐 기능개발Computer Science/프로그래머스 2023. 9. 23. 16:47
https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나는 큐와 우선순위 큐를 사용해서 정답을 내려고 했다. 큐를 순회하며 데이터를 늘리고, 우선순위 큐를 인덱스로 정렬 해 top()이 100이상이라면 우선순위 큐를 순회하며 하루에 릴리즈되는 기능을 셀려고했다. 하지만 다른 사람 풀이를 보니, 시작 인덱스를 설정하고 이게 progresses보다 작다면 반복문을 돌리도록 했다. 내 코드에서는 큐를 순회하는 순간을 어떻게 끝낼까가 문제였는데, 이 부분은..