알고리즘/c++ [프로그래머스] level2 영어 끝말잇기 - c++ - 728x90 반응형 하핫 돌아오는 월욜(내일)부터 하루에 세문제씩 풀기로 계획세웠는데 ㅎ 할수있겠지 ㅎ 한문제 풀고 나면 그냥 집가고싶어짐 ㅎ 무튼 .. 정답 코드 #include <string> #include <vector> using namespace std; vector<int> solution(int n, vector<string> words) { vector<int> answer; string before = words[0]; for(int i=1;i<words.size();i++){ if(words[i][0]!=before[before.length()-1]){ answer.push_back((i+1)%n==0?+n:(i+1)%n); answer.push_back(i/n+1); return answer; }else{ for(int j=0;j<i;j++){ if(!words[j].compare(words[i])){ answer.push_back((i+1)%n==0?n:(i+1)%n); answer.push_back(i/n+1); return answer; } } } before=words[i]; } if(answer.empty()){ answer.assign(2, 0); } return answer; } 회고? 주절주절 다른 사람들 풀이 보니까 map이나 set같은 자료구조 활용하는게 best처럼 보이네유.. 반성.. 역시 자료구조 기초가 흔들거리다보니 ㅎ 코드가 복잡해지는군 .. 사실 before같은거 필요없고 words[i-1] 이런식으로 가도 되는데 어제 문제가 생각나서 의식의 흐름대로 걍 before로 일단 대입한듯 ㅋㅎ 생각하며 풀자! 아 글고 첨엔 map쓸 생각을 못하고 걍 vector 정렬해서 idx로 찾을까? 하다가.. vector는 탐색이 넘 복잡하다는걸 깨닫고.. 걍 이중for문으로 튀튀 ㅎ 가져갈것 string.compare(string) 제발!!!! c++은 문자열 비교할때 equals 아니고 compare이다!! 맨날 equals로 해놓고 에러나면 당황함ㅋ strcmp 함수도 있긴함 (char*에 대해 사용) find() 함수 vector나 배열에 요소 있는지 확인하는 #include <algorithm> find(v.begin(), v.end(), 특정값) -> 발견시 리턴값이 iter, 미발견시 v.end()반환 find(arr, arr+n, 특정값) 반응형 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기우당탕탕 개발 감자 Contents 정답코드 회고? 주절주절 가져갈것 당신이 좋아할만한 콘텐츠 [C++] min_element로 최소값 원소 찾기, erase로 원소 지우기 2023.10.02 [C++] sort, greater<>, stoll, 숫자를 문자열로, sqrt 2023.09.28 [프로그래머스] level2 짝지어 제거하기 - C++ 2023.07.15 [프로그래머스] level2 다음 큰 숫자 - C++ 2023.07.08 댓글 4 + 이전 댓글 더보기