프로그래머스 풀이/Lv 1 (4) 썸네일형 리스트형 프로그래머스 - 키패드 누르기 (C++) 처음엔 *, #에서 동시에 시작하는 그래프 문제인가? 싶었는데 그냥 구현문제였다. 각 자리의 좌표를 기억하고 갱신해주면 되는 간단한 문제이다. 뭔가 반복문을 잘 쓰면 코드를 줄일 수 있을 것 같은데 그냥 무식하게 했다. #include #include #include using namespace std; string solution(vector numbers, string hand) { string answer = ""; int leftx = 3; int lefty = 0; int rightx = 3; int righty = 2; for(int i = 0; i < numbers.size(); i++){ if(numbers[i] == 1){ leftx = 0; lefty = 0; answer.push_ba.. 프로그래머스 - 콜라 문제(C++) 기본 수학 문제. 콜라의 수를 계속 갱신해가며 풀면된다. #include #include #include using namespace std; int solution(int a, int b, int n) { int answer = 0; int cola = 0; while(true){ cola = (n / a) * b; n = cola + n % a; answer += cola; if(n < a) break; } return answer; } 프로그래머스 - 로또의 최고 순위와 최저 순위(C++) 예외처리를 잘 해줘야하는 문제. 어려운 문제는 아니지만 예외처리가 어렵다. #include #include using namespace std; vector solution(vector lottos, vector win_nums) { vector answer; int numberArray[47] = {0,}; for(int i = 0; i < 6; i++) numberArray[win_nums[i]]++; int win = 0; int zero = 0; int wrong = 0; for(int i = 0; i < 6; i++){ if(numberArray[lottos[i]] != 0) win++; else wrong++; if(lottos[i] == 0) zero++; } if(wrong == 6){ i.. 프로그래머스 - [1차] 다트 게임 문자열을 받아 처리하는 문제, 생각흐름은 다음과 같다. 1. 반드시 숫자, 알파뱃(S, D, T) 특수문자(*, #) 순으로 들어온다. 2. 바뀌는 건 숫자이다. 그러므로 숫자만 벡터에 추가해둔다. 3. 알파뱃이 들어오면 추가해둔 벡터의 숫자를 바꿔준다. 이때 인덱스 관리를 잘 해줘야한다. 난 지금 벡터 사이즈 - 1로 두었다. 4. 특수문자는 들어올 때도 있고 안들어올 때도 있다. 들어오면 이전 문자와 지금 문자를 처리해준다. 5. 예외처리로 10이 들어오면 1, 0 으로 확인되기 때문에 버그가 발생한다. 이때는 1이 들어오면 뒤의 문자가 0인지 판단하고 벡터에 10을 추가하는 예외 로직을 만들었다. 다른 사람들 풀이를 보니 sstream 을 사용하여 간단히 푼 사람도 있었고 regex? 을 사용한 사.. 이전 1 다음