level2

· Language/C++
> lang >> job >> level >> food >> score; vs[0][0] = lang; vs[1][0] = job; vs[2][0] = level; vs[3][0] = food; for(int i=0 ; i lang >> temp >> job >> temp >> level >> temp >> food >> score; string s = lang + job + level + food; auto itr = lower_bound(info_[s].begin(),info_[s].end(),stoi(score)); answer[index++] = info_[s].size() - (itr - info_[s].begin()); } return answer; }
· Language/C++
코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 처음 구현할 때 어렵지 않게 코드를 작성했지만, 생각보다 어렵게 걸렸다. #에 대한 처리를 하지 않아서 다른 분의 코드를 참고해서 치환이라는 좋은 아이디어가 있어 #이 붙어진 음표를 소문자로 치환을 했다. 치환을 하고 나서 아직도 여러 테스트 케이스에서 오답처리가 되어서 뭐가 문제일까 고민을 하다가,, 음악의 치환 위치를 잘못 선정하여 여러 테스트 케이스에서 오답에 생겼던 거다. 하지만 위치 선정을 하고 나서도 15,29,30번에서 테스트 케이스에서..
· Language/C++
코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr A~Z 까지 map 함수에서 값을 저장한다. 반복문으로 msg 길이만큼 실행 시킨다. 임시 string w에 msg값을 저장하여 해당 값이 map 함수에 있는지 조사한다. 만약 있을 경우 msg의 다음 문자를 탐색하기 위해 j값을 1 증가 시키고 w값에 다음 msg 값을 저장한다. 탐색도중 해당 string w를 찾지 못했으면 while문에 빠져나와서 map 함수에 해당 w 에 대한 값을 업데이트 시킨후 벡터 함수 answer에 w의 전 값을 저장한다. w의 전 값은 단순히 pop_b..
· Language/C++
코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 장소안에서 'P'가 나올 시 해당 i와 j 값에 대해서 방문 표시를 하고 DFS 탐색을 한다. DFS에서는 해당 문자열 벡터와 방문 bool 함수와 'P'의 좌표 마지막으로 deep이라는 매개..
· Language/C++
코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 주어진 문자열에서 숫자와 수식을 구분하여 각 벡터에 저장한다. (first_job 함수에서 처리) -> stringstream으로 문자열을 처리하였고 처음에 나오는 숫자를 먼저 숫자 벡터에 push를 한 후에 반복문을 사용하여 순차적으로 수식과 숫자를 각 벡터에 저장한다. 주어진 문자열을 숫자와 수식을 구분하였으면, 다음 함수 second_job으로 이동한다. next_permutation을 사용하였고, 수식은 최대 3개 이기 때문에 경우의 수는 6가지 밖에 ..
· Language/C++
코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 구현 능력을 테스트하기 위한 문제이다. 하지만 필자는 생각보다 오래 걸렸다. search_2_2 함수 : 2 X 2 배열 기준으로 똑같은 문자열을 갖고 있는 첫번째 x,y 좌표를 queue 에 삽입한다. delete_same : queue에 존재하는 x,y 좌표를 꺼내서 해당 2 X 2 배열을 ' '로 없애버린다. 빈 공간을 fill 함수를 통해서 채워준다. 채워줄 때 queue의 사이즈 * 행의 크기 만큼 채워준다. 반례 체크) ↓↓↓ ..
· Language/C++
코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr 16진수 변환을 최대로 설정하였기에 넘버 배열을 사용하여 진수 변환에 효율성을 올려준다. 진수 변환한 값을 temp라는 string 변수에 이어 붙여서 해당 temp의 길이만큼 반복문을 돌려, j번째을 인원수 m의 나머지에 1을 더한 값이 p값과 같을 때 answr에 해당 문자를 이어 붙인다. #include #include using namespace std; const char convert[] = {'0','1','2','3','4','5'..
· Language/C++
코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 문제 설명 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다. "[닉네임]님이 들어왔습니다." 채팅방에서 누군가 나가면 다음 메시지가 출력된다. "[닉네임]님이 나갔습니다." 채팅..
행복한쿼콰
'level2' 태그의 글 목록