목록Programmers/Level 1 (77)
GitHubSeob

문제 https://programmers.co.kr/learn/courses/30/lessons/12901 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr 문제풀이 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 윤년이므로 2월은 29일까지 있다. 월과 요일을 나타내는 벡터를 따로 만들면 코드가 더 간결해진다. 월과 일을 입력받으면 1월 1일과 차이나는 일 수를 구하고, 7로 나눈 나머지를 구해 해당하는 요일을 출력한다. 코드..

문제 https://programmers.co.kr/learn/courses/30/lessons/84325 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr 문제풀이 문제 자체는 어렵지 않은데 띄어쓰기 기준 string 자르기, 사전 순 정렬이 조금 귀찮았다. vectorname = { "SI", "CONTENTS", "HARDWARE", "PORTAL", "GAME" }; table의 직업군이 이 순으로 나오기 때문에 따로 name이라는 벡터를 만들었다. 점수가 같을 경우 사전 순으로 정렬해야 되기 때문에 편..

문제 https://programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 문제풀이 숫자 두 개를 뽑아서 더하는 문제다, 더해서 같은 수가 나올 때 중복은 return에 포함되지 않는다. 숫자를 idx=0부터 크기-1만큼 반복하고, idx2는 idx값에 +1을 하여 크기만큼 반복한다. 이러면 반복문에서 같은 덧셈을 할 경우는 없다. 그러나 중복된 수는 answer에 저장이 된다. 중..

문제 https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 문제풀이 부서를 최대로 지원하려면 적은 금액부터 지원해주면 된다. 따라서 정렬을 하고 예산에서 지원해줘야 하는 금액을 차감하면서 answer값을 늘려주면 된다. 예산은 -가 될 수 없으므로 예산과 지원해줘야 하는 금액이 같거나 예산이 더 큰 경우만 실행하도록 조건을 건다. 코드 #include #include using namespace std; int sol..

문제 https://programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 문제풀이 3진법은 0, 1, 2로만 이루어진 숫자이다. 원래 n을 3으로 나누고 나머지를 적고, n을 더 이상 나눌 수 없을 때까지 반복한 뒤 나머지를 거꾸로 적어야 하지만 이 문제에서는 3진법 된 수를 뒤집어야 하므로 나머지가 나오는 대로 바로 벡터에 push 하면 된다. 앞뒤가 반전된 3진법이 나오게 되면,..

문제 https://programmers.co.kr/learn/courses/30/lessons/77884 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr 문제풀이 수가 제곱수인지 아닌지만 판별하면 된다. 제곱수의 경우는 무조건 약수의 개수가 홀수가 되고, 아닌 경우는 짝수가 된다. 제곱수인지 판별하기 위해 제곱근을 구하는 sqrt함수를 이용한다. double형 제곱근 - int형 제곱근을 해서 0이나 오면 제곱수이므로 그때만 answer -= idx, 이 ..

문제 https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 문제풀이 실패율은 스테이지를 클리어 못한 플레이어의 수 / 스테이지에 도달한 플레이어의 수이다. 여기서 i 스테이지를 클리어 못한 플레이어의 수는 stages벡터에서 i의 개수이고, 스테이지에 도달한 플레이어의 수는 i 스테이지를 지나간 플레이어의 수이다. 1번 스테이지의 경우 stages벡터에 1은 1개이고, 1 이상인 수가 8개이므로 실패율이 1/8이다..

문제 https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 문제풀이 복잡해 보일 수 있는데 간단히 보면 경우의 개수가 아닌 몇 마리의 폰켓몬을 고를 수 있는지만 구하면 된다. 폰켓몬의 최대 개수를 넘으면 최대 개수를 출력하고 그렇지 않으면 폰켓몬의 종류의 개수를 출력하면 된다. 현재 인덱스의 값과 인덱스+1 값을 비교하면서 둘이 같으면 인덱스+1 값을 지운다. 그렇지 않으면 인덱스 값을 1 증가시켜 다음수를 탐색..

문제 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 문제풀이 문제는 길지만 단계 하나씩 코드를 작성하면 쉽게 풀 수 있다. 먼저 알파벳, 숫자, -, _, . 일 때만 answer벡터에 push 한다. answer의 끝, 끝-1 부분이 . 이라면 끝부분을 지워 .가 하나만 있게 한다. 맨앞이 .이라면 erase를 통해 벡터 맨 앞 원소만 지운다. 맨뒤가 .일때도 마찬가지이다. answer베터가 비어있..