프로그래머스44 [Level 2 / C++ / 카카오] 카카오프렌즈 컬러링북 아 진짜 이 문제 너무 스트레스 받았던 문제이다. 아무리 봐도 틀린게 하나도 없는데 기본 예제만 통과하고 최종은 계속 통과가 되지 않았다. 비쥬얼스튜디오까지 켜가면서 확인을 해가며 배열의 변화 과정 까지 차근차근 살펴봐도 틀린 부분이 없었다. 그래서 프로그래머스 질문하기 페이지에 들어가서 확인해봤는데 문제 오류;; 스트레스가 하늘을 치솟았다. 이 문제에 거의 4시간을 쓴거 같다. 해당 문제는 애초에 전역변수를 생성 하지 말라고 한다. 생성한 전역변수를 solution 함수에 다 넣고 파라미터 값을 변수의 주소를 담아와서 구현을 하였다. 그렇게 하니 문제가 통과되었다. 해당 문제는 bfs를 활용하면 쉽게 풀 수 있다. 지금껏 내가 다뤄왔던 bfs 문제는 항상 비슷한 맥락이였다. 구현을 하기에 살짝 변형한 .. 프로그래머스/Level_2 2022. 1. 17. [Level_2 / C++ / 카카오] 단체사진 찍기 (C++) 모든 경우의 수 정렬 벡터를 정렬할 때 정렬 될 수 있는 모든 경우의 수를 물어보는 문제가 있다. 이러한 경우 해당 함수를 사용한다. 즉, A B C 를 정렬하고 싶은데 모든 경우를 정렬하면, ABC ACB BAC BCA CAB CBA 순으로 정 baebalja.tistory.com 절댓값 반환 두 값의 차이를 물을 때 쓰이는 함수이다. "10-1"의 값은 9 이지만 "1-10" 의 값은 -9가 나온다. 즉, 차이값만 확인하고 싶을 때 abs(값) 을 넣으면 절댓값으로 나오게 된다. #include using namespace std; int.. baebalja.tistory.com * abs(), next_permutation() 함수를 사용하였으니 해당 함수를 모를 시 링크 참고. ex) "N~F=0.. 프로그래머스/Level_2 2022. 1. 13. [Level_2] 전화번호 목록 (C++) 생각 보다 쉬운 문제였다. 여기서 중요한점은 먼저 사전순으로 정렬을 해야한다. 먼저 5개의 임의의 문자열을 상상해보자 "aabbc", "bab", "a", "baz", "babcc" 5개의 문자열을 파라미터로 받아왔다고 가정하자. 해당 문자열을 정렬 시키면 "a" "aabbc" "bab" "babcc" "baz" 이런식으로 정렬하게 되는데 해당 벡터를 두번째부터 시작을 하여 벡터의 사이즈-1 까지 search 한다. search 하면서 이전의 벡터의 문자열이 현재 벡터값에서 find해서 있으면 false 없으면 true 로 반환하면 된다. 여기서 find() 함수를 모르는 분도 계실 수 있으니 잠깐 설명한다. s1.find(s2) : s1 문자열에 s2 문자열이 있으면 시작 인덱스를 반환. 즉, "bab.. 프로그래머스/Level_2 2022. 1. 13. [Level_2] 타겟 넘버 (C++) 이 문제의 해설을 보기 위해 들어왔다면 dfs에 대한 알고리즘을 작성하는데에 어색함이 있는 분들이다. 처음 문제에 접근할 때 4개 정도의 값을 받았다고 가정을 하자. 즉, numbers = {1,1,1,1} 4개의 값을 받았다고 가정을 하고 그림을 그려보자. 개수가 총 4개이며 사이즈는 4이다. 사이즈는 트리에서의 레벨 값이라고 생각하면 된다. 그림을 한번 보자 즉 [인덱스 0] 은 트리에서의 [0번째 레벨] 즉, [0층] 이라는 뜻이다. 각 레벨의 노드들은 자식노드 두개를 만들어내는데 그 값에서 각 레벨에 추가되는 새로운 값을 음수 그리고 양수의 값으로 변환해서 값을 더해간다. 즉, 첫 루프노드에서는 값이 정해져있지 않은데 [0 레벨]인 numbers[0] 값의 "1" 을 "1"x(-1) 과 "1"x(.. 프로그래머스/Level_2 2022. 1. 13. 이전 1 2 3 4 5 다음 반응형