목록Programmers/Level 1 (77)
GitHubSeob

문제 https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 이름을 입력하면 등수를 알려주는 map인 name_num을 선언, 등수를 입력하면 이름을 알려주는 map인 num_name을 선언한다. 이름이 불린 선수들이 있는 callings 벡터를 탐색하면서 각각의 정보를 불러와 num, name, prev_name, prev_num에 값들을 저장한다. 그다음 서로 값들을 바꿔준다. 모든 탐색이 끝났으면 answer에 추가해 주고 return..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 가는 길에 장애물이 있으면 왔던 길을 되돌아가고 다음 명령을 탐색한다. park에서 'S'인 현재위치를 answer[0], answer[1]에 y, x값을 저장한다. routes[idx][0]은 방향을, routes[idx][2]는 칸 수를 알려준다. 해당 방향으로 한칸 한 칸 가면서 주어진 맵의 좌표를 벗어나는지, 장애물이 있는지 판단한다. 없으면 기존 y, x값에 해당 방향으로..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 먼저 string s에 p의 크기만큼 t[idx]를 입력받고 num 벡터에 저장한다. idx를 1로 두고 idx + p.size() -1 가 t크기 보다 작을 때까지 탐색한다. (idx + p.size() -1 은 s의 끝자리 위치를 의미한다) s의 첫 글자를 지우고, 새 글자를 하나 더하고 num 벡터에 저장한다. 탐색이 끝났으면 num 벡터를 탐색하면서 p이하인 수가 있을 때마..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131705 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 현재 위치, 고른 개수, 번호의 합을 인자로 받는 DFS함수를 만들어서 풀었다. 3개를 골랐으면 세 명의 번호 합이 0인지 판별하고 맞으면 답을 출력하는 변수에 1을 더한다. 현재 위치가 끝나지 않았으면 DFS(x+1, cnt, sum)을 해서 현재 학생을 포함 안 하는 경우를, DFS(x+1, cnt+1, sum+num[x])을 해서 현재 학생을 포함하는 경우를 탐색한다. 코드 ..

문제 https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 문제풀이 unordered_map을 이용하여 형태로 신고당한 ID, 신고당한 횟수인 report_cnt 형태로 신고한 ID, 정지 먹인 횟수인 reporter_cnt를 선언한다. 먼저 erase, unique를 이용하여 중복 신고 내역을 없앤다. (동일한 유저에 대한 신고 횟수는 1회로 처리되므로) for (idx = 0; idx < report.s..

문제 https://programmers.co.kr/learn/courses/30/lessons/86491 코딩테스트 연습 - 8주차_최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 문제풀이 sizes를 탐색하면서 [idx1][0]인 부분을 더 큰 수, [idx1][1]인 부분을 더 작은 수로 바꾼다. [idx1][0]끼리, [idx1][1]끼리 max_length값을 계속 경신한다. 둘을 곱한 값을 return 한다. 코드 #include #include #include using namespace std; int solution..

문제 https://programmers.co.kr/learn/courses/30/lessons/87389 코딩테스트 연습 - 나머지가 1이 되는 수 찾기 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 입 programmers.co.kr 문제풀이 1부터 n-1까지 반복하면서 n을 해당 수로 나눴을 때 나머지가 1이면 return 한다. 코드 #include #include using namespace std; int solution(int n) { for(int idx=1;idx

문제 https://programmers.co.kr/learn/courses/30/lessons/12947 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하 programmers.co.kr 문제풀이 sum에 10으로 나눈 나머지를 계속 더하고 x는 10으로 나눈다. x가 0이 되면 num% sum을해서 0이 나오면 true를, 나머지가 있으면 false를 return 한다. 코드 #include #include using namespace std; bool solution(int x) { bool answer = t..

문제 https://programmers.co.kr/learn/courses/30/lessons/12944 코딩테스트 연습 - 평균 구하기 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr programmers.co.kr 문제풀이 에 있는 원소의 합을 더하는 accumulate함수를 사용한다. 그다음 arr의 크기만큼 나누어서 return 한다. 코드 #include #include #include using namespace std; double solution(vector arr) { double answer ..