본문 바로가기

알고리즘 공부/프로그래머스 [C++]27

프로그래머스 : [1차] 비밀지도 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/17681 문제 설명 네오가 프로도의 비상금을 손에 넣을 수 있도록, 비밀지도의 암호를 해독하는 작업을 도와줄 프로그램을 작성하라. 문제 입출력 예) 매개변수 값 n 5 arr1 [9, 20, 28, 18, 11] arr2 [30, 1, 21, 17, 28] 출력 ["####", "# # #", "### #", "# ##", "#####"] 문제 풀이 비밀지도의 정보다 담긴 arr1과 arr2가 주어진다. 두개의 값이 합쳐졌을 때, 비밀지도의 암호를 해독할 수 있다. arr1과 arr2를 or연산을 하고, 2진수로 바꾸어 간단하게 풀 수 있는 문제였다. #include #include #in.. 2022. 11. 4.
프로그래머스 : 소수 찾기 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12921 문제 설명 1. 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 2. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. 3. (1은 소수가 아닙니다.) 문제 입출력 예) n result 10 4 5 3 문제 풀이 문제를 어떻게 풀어야할지 생각하다가, 너무 비효율적인 풀이라서 문제풀이를 포기했었다,, 내가 생각한 문제풀이는 for문을 돌려서 그 내용이 0과 자기자신을 가진 소수인지 전부 비교하는 것이였다. 이것은 알고리즘이아니라, 누구나 풀 수 있는,,, 비효율적인,, 방안,,, 그래서 문제풀이를 찾아보고서 다시 문제를 풀.. 2022. 11. 3.
프로그래머스 : 문자열 내 마음대로 정렬하기 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42584 문제 설명 1. 문자열로 구성된 리스트 strings와, 정수 n이 주어진다. 2. 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려고 한다. 3. strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings 정렬하낟. 문제 입출력 예) strings n return ["sun", "bed", "car"] 1 ["car", "bed", "sun"] ["abce", "abcd", "cdx"] 2 ["abcd", "abce", "cdx"] 문제 풀이 sort를 사용해서 푸는 문제였다. sort의.. 2022. 11. 3.
프로그래머스 : 폰켓몬 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/1845 문제 설명 1. N/2마리의 폰켓몬을 선택하는 방법 중 2. 가장 많은 종류의 폰켓몬을 선택하는 방법을 찾아 3. 그때의 폰켓몬 종류 번호의 개수를 return 하도록 solution 함수를 완성해주세요. 문제 입출력 예) nums result [3,1,2,3] 2 [3,3,3,2,2,4] 3 [3,3,3,2,2,2] 2 문제 풀이 Hash Table을 사용해서 문제에 접근했다. 포켓몬의 종류와 수를 각각의 map에 넣는다. 최대로 가질 수 있는 포켓몬의 수는 N/2이다. N/2 > map.size()가 성립할 경우 map.size()의 종류를 고를 수 있고 N/2 2022. 11. 1.
프로그래머스 : 완주하지 못한 선수 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42576 문제 설명 1. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 2. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어졌을 때 3.완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 문제 입출력 예) participant completion return ["leo", "kiki", "eden"] ["eden", "kiki"] "leo" ["marina", "josipa", "nikola", "vinko", "filipa"] ["josipa", "fili.. 2022. 11. 1.
프로그래머스 : 주식가격 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42584 문제 설명 1. 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어진다. 2. 가격이 떨어지지 않은 기간은 몇 초인지를 return 하시오. 문제 입출력 예) prices return [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] 문제 풀이 문제를 이해하는데 오랜 시간이 걸렸다... 매번 실행일 경우 count를 더해주고 가격이 커 질경우 break를 걸어줘서 끝내는 코드를 작성하였다. #include #include #include #include using namespace std; vector solution(vector prices) { stac.. 2022. 10. 31.
프로그래머스 : 중간 리뷰 (6일차) [C++] 학습 리뷰 C++ 코딩연습한지 6일차가 되었다. 오늘은 공부를 많이 하지 못할 것 같다.. 이것저것 할게 많기 때문에... 순위 : 16,111 -> 15,357 점수 : 1,289 -> 1,296 해결한 문제 : 113 -> 115 6일차 오늘의 학습 목록 1. 콜라문제 2. 인형뽑기 C++ MFC 공부를 해봐야겠다.. 열공~! 2022. 10. 29.
프로그래머스 : 콜라 문제 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/132267 문제 설명 1. 콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 2. 빈 병 20개를 가져다주면 몇 병을 받을 수 있는가? 3. 단, 보유 중인 빈 병이 2개 미만이면, 콜라를 받을 수 없다. 4.콜라를 받기 위해 마트에 주어야 하는 병 수 a 5. 빈 병 a개를 가져다 주면 마트가 주는 콜라 병 수 b 6.상빈이가 가지고 있는 빈 병의 개수 n 7. 상빈이가 받을 수 있는 콜라의 병 수를 return 하도록 solution 함수를 작성해주세요. 문제 입출력 예) a b n result 2 1 20 19 3 1 20 9 문제 풀이 4개의 변수로 구별해서 코드를 작성.. 2022. 10. 29.
프로그래머스 : 중간 리뷰 (5일차) [C++] 학습 리뷰 C++ 코딩연습한지 5일차가 되었다. 프로그래머의 길은 갈고도 험하다... 나만 그렇게 생각하나 참 어렵다. 그래도 5일동안 열심히 달렸기에 아래와 같이 달성 할 수 있었다. 순위 : 21,585 -> 16,111 점수 : 1,289 -> 1,247 해결한 문제 : 102 -> 113 오늘의 학습 목록 1. Dp 2. Greedy 앞으로도 자료구조나 알고리즘 공부를 많이 해야겠다. 점점 효율성이 중요해지는 사회...,,,ㅎㅎ.. 2022. 10. 28.