코딩테스트22 [프로그래머스 1 / c++] k번째 수 2차원 벡터를 인덱스로 접근해서 2차원 배열 처럼 푸는 문제이다 2차원 배열을 생각은 했으나, 벡터인데 인덱스를? 하고 헤맸던 문제이다 맞다. 벡터도 배열처럼 인덱스로 접근 가능하다. 찾아보며 벡터에 대해 좀 더 이해하게 됐던 문제이다 이렇게 for문을 2번써서 문제를 그대로 구현가능하지만 #include using namespace std; vector solution(vector array, vector commands) { vector answer; // 1번째 인덱스를 돌며 반복할 for문 for(int i=0; i 2022. 6. 20. [프로그래머스 1 / c++] 완주하지 못한 선수 해쉬 문제로 유명한 문제이다 참가자와 완주자 명단을 비교하여 완주하지 못한 선수 이름을 찾는 문제이다 쉽게 이름 별로 인원 수를 카운트 하기위해서 unordered_map 을 사용하여 map을 만들고, 범위지정 for 문으로 참가자 명단을 돌며 map에 이름이 없으면 이름을 넣고 1로 초기화 해주기 위해 맵을 돌며 이름을 find 하고 이름이 없으면 반복자가 end()위치와 같으므로 조건을 지정 후 map(이름, 1) 해준다 for문 수행 중 맵에 이름이 있다면 그 이름의 벨류를 1 올려주어 중복을 알 수 있다(하지만 이 문제는 안쓰인다) 다시 범위지정으로 완주자를 돌며 완주자 이름당 벨류를 1씩 빼준다 for문으로 맵에서 혹은 참가자에서(둘 다 이름 목록이 같으므로 둘 중 하나를 골라 돌자) 이름을 다.. 2022. 6. 19. 문자열 내 맘대로 정렬하기 문제를 보자마자 sort 를 사용하여 정렬하면 되겠구나 했는데 벡터 안의 string 요소들이 담겨 있으니 아 2차원 배열로 풀면 되겠구나? 하고 생각했었고... cmp 함수를 제대로 못설계해서 시간을 날렸던 문제이다 커스텀 비교 함수의 사용법을 이해하게 된 문제이다 벡터 내 요소들인 string 들도 순서대로 비교가능하고, string내부의 인덱스 요소들도 순서를 비교가능하다 sort 의 비교함수는 인자를 2개를 가지고 비교하는데, 문제에서는 string 내 인덱스값이 같을때를 예외조건으로 달았으므로 두 string의 k번째 인덱스의 값이 같을 시 비교순서도 정해서 만들어주면 되는 문제였다 아래에 cmp함수의 a 2022. 6. 19. [프로그래머스 1 / c++] 콜라츠 추측 확실히 프로그래머스 1단계는 백준 브론즈보다 쉬운것 같다. 물론 뒤쪽 연습문제 기준이다 앞쪽은 1단계라고 하지만 백준 실버나 골드정도 난이도가 보인다. 쉬운거부터 빠르게 1단계를 클리어하고 어려운 문제를 풀려고 한다. 오답노트에는 실패 케이스만 올리고 있다 그냥 조건만 열심히 구현한 코드다. 딱히 엄척난 로직이 있지 않다 하지만 num 가 int 형으로 주어지는데, 이를 그대로 사용하면 테스트 케이스에서 숫자가 커져서 런타임에러가 난다 이는 num 이 int 의 범위 이상의 수가 되었기 때문이다 그러니 그냥 num 을 long long 자료형으로 바꿔주면 쉽게 해결 된다 #include #include using namespace std; int solution(int num) { int answer =.. 2022. 6. 17. 이전 1 2 3 4 5 6 다음