프로그래머스/Level_15 [프로그래머스 Level_1 / C++ / 카카오] 키패드 누르기 #접근방법 1. ( '*' ,'0', '#' ) -> (10, 11, 12) 로 치환 2. 1, 4, 7 일 때 왼손 위치 해당 값으로 이동, 3, 6, 9 일 때 오른손 위치 해당값으로 이동 3. 2, 5, 8, 11 일 때 왼손과 오른손의 위치를 중간열로 이동 (이동할때 카운트 +1, 이미 가운데에 위치했을 경우 변화 x 4. 왼손과 오른손이 위치한 숫자 값에서 가려고 하는 숫자값의 차이의 절댓값 구하기 5. 절댓값이 더 작은 값이 나온 손에 위치 저장. 같을 경우 hand 변수에서 어떤 손잡이인지 확인하고 해당 손에 위치 저장. #include #include #include using namespace std; int temp_l, temp_r, l_cnt, r_cnt; string solutio.. 프로그래머스/Level_1 2022. 2. 18. [Level_1 / C++ / 카카오] [1차] 다트 게임 아이유를 정말 좋아하기 때문에 이 문제는 꼭 풀려고 마음 먹었다. 이 문제는 하라는대로 풀면 된다. 코드를 봐도 쉽게 이해할 수 있을거라고 생각한다. 다만, 저와 똑같은 실수를 하시는 분도 계실까봐 말씀드리지만, 스타상(*)은 해당 점수와 바로 전에 얻은 점수를 2배하는 것이지, 이전에 얻은 모든 점수에 2배를 하는것이 아니다! #include #include using namespace std; int solution(string dartResult) { int answer = 0; string s= dartResult; vector v; string s1=""; for(int i=0; i='0'&&s[i] 프로그래머스/Level_1 2022. 1. 23. [Level_1 / C++ / 카카오] 실패율 map을 활용하여 해당 스테이지와 그 스테이지를 밟고 있는 친구들의 수를 key, value값으로 지정하자. N만큼 반복문을 돌면서 map의 해당 스테이지의 value값을 "스테이지 사이즈 - 넘지못한 친구들의 수" 로 나눠주어 그 몫을 벡터에 저장한다. (넘지못한 친구들의 수 = prev변수로 할당 ) 벡터를 실패율의 내림차순으로 정렬하여 출력하도록 한다. #include #include #include #include #include using namespace std; bool cmp (pair v1, pair v2){ if(v1.second==v2.second)return v1.first v2.second; } vector solut.. 프로그래머스/Level_1 2022. 1. 23. [Level_1 / C++ / 카카오] [1차] 비밀지도 다음 그림을 봤을 때 or 연산자가 떠오른다. 그림 옆에 이진수로도 힌트를 주는거 같다. 즉, '#' 문자는 '1' 을 나타내고 공백은 '0'을 나타낸다. 각 벡터의 정수값을 or 연산을 해주면 맨 밑의 그림과 같이 표현할 수 있다. 결과 그림과 같이 표현하기 위해서는 or연산을 통해 나온 결과값들은 각 행을 표현하는 정수값이며 그 정수값을 2로 계속 나눠주면서 나머지값이 1이라면 '#'를 붙여주고 아니라면 공백을 출력한다. #include #include #include using namespace std; vector solution(int n, vector arr1, vector arr2) { vector answer; for(int i=0; i 프로그래머스/Level_1 2022. 1. 23. [Level_1 / C++ / 카카오] 신고 결과 받기 자료구조 중복제거를 하기위해 쓰이는 자료구조이다. 많이 쓰이는 자료구조는 아니지만 문제에서 모든값의 중복을 없애고 오름차순으로 정렬하라는 문제가 나온다면 사용할 수 있다. 헤더로 set을 갖고 s baebalja.tistory.com 공백으로 문자열 자르기 문자열이 공백이 주어진 상태로 주어진다면 공백을 기준으로 문자열을 자를 수 있다. 예) string s = "abc def gh" ; 해당 문자열을 "abc" , "def" , "gh" 로 자르는 거다. 해당 문법을 알아보자. #include #inclu.. baebalja.tistory.com s1>>s2; m[s2].insert(s1); ss.clear(); } for(auto it : m){ if(it.second.size()>=k){ for(a.. 프로그래머스/Level_1 2022. 1. 23. 이전 1 다음 반응형