성공 코드(내 코드) 2차원 벡터 organize에 report의 내용을 정리한다. id_list의 사이즈만큼 n*n 2차원 배열 organize를 생성한다. 각각의 행과 열은 id_list의 인덱스 값에 해당되는 사람을 나타내고 행에 해당되는 사람이 누구를 신고했는지 해당 행의 원소들에 체크를 하게 된다. 0을 1로 바꿈으로써 체크가 이루어진다. 이렇게 함으로써 중복되는 신고는 한번으로 처리 가능하다. organize의 각각의 열을 탐색하며 k번 이상 신고된 자의 인덱스를 stopped 벡터에 추가한다. organize를 행마다 탐색하며 이때 cnt는 0이 된다. stopped가 체크되어 있으면 cnt를 증가시켜 메일을 받은 횟수를 증가시킨다. 그리고 해당 행의 탐색이 끝나면 answer 벡터에 cnt..
성공 코드(내 코드) 마침표가 두개 이상이면 하나로 치환하기 위해 fs 변수 사용 .이 나오면 fs=1로 만들고 다음부터 .이 나오는 경우 fs가 1이면 연속해서 나오는 것이므로 해당 문자를 erase .이 아닌 조건에 만족하는 다른 문자가 나오면 fs=0으로 만든다. 나머지 단계는 흐름에 맞게 if문을 사용 #include #include using namespace std; string solution(string new_id) { string answer = ""; int fs=0; for(int i=0; i=97 && answer[i]=48 && answer[i]=16){ answer.erase(15, answer.size()-1); } if(answer[answer.size()-1]=='.'){..
성공 코드(내 코드) 각각의 숫자에 해당하는 문자열을 찾아 숫자로 바꿔준다. 문자열을 치환해주는 함수 replace 문자열.replace(시작 위치, 길이, 치환 문자열) 시작 위치부터 지정한 길이만큼 문자열을 치환 문자로 변환 범위 안에 원하는 값을 찾는 함수 find 문자열.find(검색 문자열) 문자열 앞에서부터 검색을 시작해 검색 문자열이 시작되는 위치를 반환 검색 문자열을 찾지 못한 경우 string::npos(429467295) 반환 숫자 타입의 데이터를 안전하게 스트링 타입으로 변경하도록 하는 함수 to_strong to_string(숫자) string 타입의 문자열을 int형으로 바꾸는 함수 stoi(int형 숫자) #include #include using namespace std; in..
성공 코드(내 코드) 1 2 3 4 5 6 7 8 9 * -> 10으로 두고 푼다. 0 -> 11로 두고 푼다. # -> 12로 두고 푼다. 누르는 번호가 1, 4, 7 -> L 3, 6, 9 -> R 이외에는 현재 왼손이 누르고 있는 번호의 위치와 오른손이 누르고 있는 번호의 위치를 통해 더 가까운 손으로 누른다. 거리가 같은 경우 왼손잡이면 왼손으로 오른손잡이면 오른손으로 누른다. 누르고자 하는 번호와 현재 왼쪽/오른쪽 손이 누르고 있는 번호의 위치 사이의 거리를 측정하기 위해 distance 함수를 사용한다. 매개변수: 누르고자 하는 번호(num), 현재 누르고 있는 번호(now), 어느쪽 손인지(hand) now가 중간 줄에 있는 번호인 2, 5, 8, 11이 아니면 오른손인 경우 오른쪽 줄에 있..
성공 코드(내 코드) moves의 크기 만큼 for문을 돌며 moves 원소의 값에 해당되는 board의 열을 탐색한다. `이 때 위에서 아래로 탐색하며 0보다 큰 숫자가 발견되면 해당 원소 값을 바구니에 넣고 0으로 만들어준다. 그리고 반복문을 빠져나온다. 바구니 안 원소가 2개 이상인 경우 마지막 원소와 그 앞의 원소를 비교하여 값이 같으면 인형이 터지므로 answer을 2 증가시키고 해당되는 두 원소를 바구니에서 지운다. #include #include using namespace std; int solution(vector board, vector moves) { int answer = 0; vector basket; for(int i=0; i=2){ int end=basket.size()-1; ..