분류 전체보기(174)
-
프로그래머스 - 124 나라의 숫자
규칙을 찾으면 쉬운데 안떠올라서 오래걸렸다 흑흑! #include #include #include using namespace std; int otf[3] = {4,1,2}; string solution(int n) { string answer = ""; vector arr; int tmp; while(n > 0) { int tmp = n%3; if (tmp == 0) n--; arr.push_back(otf[tmp]); n/=3; } for(int i = arr.size()-1; i>=0; i--) answer = answer + to_string(arr[i]);s return answer; } 16602등!
2022.09.17 -
프로그래머스 - JadenCase 문자열 만들기
#include #include using namespace std; string solution(string s) { string answer = ""; //그냥 띄어쓰기 다음에 오는게 a~z 이면 대문자로 바꿔주고, 이전에 문자가있는데 대문자 이면 소문자로 바꿔준다. if(s[0] >= 'a' && s[0] = 'a' && s[i] = 'A' && s[i]
2022.09.15 -
프로그래머스 - 최댓값과 최솟값
며칠전에 strtok 쓰는걸 연습한적이 있는데, 오늘 푼 문제도 마침 문자열을 잘라내는 거였다. 그새 까먹어서 또 고생을 했다. 멍청한 만큼 여러번 풀어봐야 한다ㅋㅋ 며칠뒤 하면 또 까먹을게 틀림없다. 파싱 부분이 합쳐서 10줄도 안되는데,,. c++ 이라서 타입 변화를 휙휙 해주어야 했다. 문자열을 잘라서 숫자로 바꾸고(atoi) 최소, 최대값을 찾은 후 다시 이를 string으로 바꾸어야 했다. atoi 를 위해서 캐릭터 배열로 string을 바꾸어주고(strcpy, c_str() 사용), 정수를 다시 string으로 바꾸기 위해 to_string() 을 사용해주었다. 피신때처럼 itoa, atoi를 만들어서 해도 어떻게든 하긴 할거같다. 문제가 성가실뿐! #include #include #inclu..
2022.09.15 -
프로그래머스 - 영어 끝말잇기
영어 끝말잇기다. 끝나는 조건으로 틀린 단어를 댄 경우, 이미 한 경우를 댄 경우만 신경 써주면 된다. map 에 지금까지 사용한 단어들을 다 저장하면서 새로 받을 때마다 find 에서 걸리는지 체크했다. 두 종료조건 중 어느 하나에 걸려도 그때의 인덱스를 갖고 종료한다. 이제 몇번째 단어에서 끝났는지를 통해 누가 걸린거고, 몇번 턴만에 걸렸는지를 구해야했는데, 여기서 멍청한 탓에 매우 멍청하게 풀었다. ㅜㅜ 남들은 굉장히 쉽게했더라ㅋㅋ #include #include #include #include using namespace std; vector solution(int n, vector words) { vector answer; set wordlist; // 처음부터 시작해서 그냥 계속 읽어가면서 다..
2022.09.13 -
프로그래머스 - 주차 요금 계산
카카오 블라인드 문제였던 주차 요금 계산이다. 열심히 풀었는데 문제를 잘못이해해서 처음부터 다시 해야한다. 그런데 c++에서의 문자열 처리 부분에서 기억해 놓으면 참 좋을 것 같은 게 많아서 갈아엎기전에 좀 기억할 겸 정리해 놓고 가려고 한다ㅋㅋ 우선, strtok 이다. 이 strtok 는 char * 형에 대해서만 사용할 수 있기 때문에 이 문제처럼 vector records 로 들어오면 이 string 타입을 같은 크기만큼의 캐릭터배열로 만들고, 옮겨준 다음에 strtok를 하고, 잘라낸 char * 배열은 다시 string 으로 바꿔서 vector 에 저장해 주어야 한다. python으로 코테를 보지 않는 한계다! 허허 char tmp[records[i].length()]; //string rec..
2022.09.13 -
프로그래머스 - k진수에서 소수 개수 구하기!
이번에는 다다음주 쯤있을 카카오 블라인트를 신경을 좀 써보고자 한번 시간을 재면서 풀었다. 웬걸 이딴 문제를 푸는데 1시간이 걸렸다!ㅋㅋ 아 시간을 들일 문제가 절대 아닌데 스스로에게 조금 실망했다. 단계를 나누어서 풀어서 시간이 쥰나 오래걸렸음에도 할 수 있었다. 첫째로, k진수로 바꾸어서 저장한다. 이 때, 0이 있는 위치를 파악하기 위해 배열에 한자리 한자리씩 저장하면서, 0의 위치는 따로 배열에 담았다. 이 후 아까 저장한 0의 위치를 기준으로 숫자를 다 잘라서 또다른 배열에 저장하였다. 이제 이 배열을 순회하면서 이게 소수인지 아닌지를 판단해 주었다 끝!! 이상하게 0 기준으로 나누는데에서 시간을 드럽게 잡아먹었다. 멍청 그자체 ㅋㅋ #include #include #include #includ..
2022.09.08