본문 바로가기

All183

피자 나눠 먹기 (3) - 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120816 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 피자는 고정된 조각수가 아닌, 지정된 값으로 나뉜다. 이 조건만 변경되었을 뿐, 문제 내용은 "피자 나눠 먹기 (1)" 과 동일하게 인당 최소 1조각 이상씩이다. 따라서, 기존 코드에서 피자 조각수만 slice 변수로 대체해주면 된다. #include using namespace std; int solution(int slice, int n) { return (n + sl.. 2023. 6. 6.
피자 나눠 먹기 (2) - 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120815 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번에는 피자 한 판에 6 조각이며, 한 조각 이상씩이 아닌 모두가 동일한 피자 조각을 먹어야 한다는 조건이다. 단순하게 판수가 증가할 때마다 사람 수로 나누었을 때 0으로 나뉘어 떨어지는지를 확인하여 답을 구하였다. #include using namespace std; int solution(int n) { int answer = 1; while (answer * 6 % n .. 2023. 6. 6.
피자 나눠 먹기 (1) - 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120814 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 피자 한 판은 7조각으로 나뉠 때, n명의 사람이 모두 한 조각 이상 먹기 위해 필요한 피자의 수를 구하는 문제이다. 만약, n명의 사람이 7명씩으로 나뉘어지지 않을 경우, 피자 한 판을 더 추가해주도록 한다. #include using namespace std; int solution(int n) { return n / 7 + (n % 7 > 0); } 피자 한 판 추가 여부.. 2023. 6. 6.
자릿수 더하기 - 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/12931 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 자연수 N이 주어지면, 각 자릿수의 합을 구하는 문제이다. 1) 정수 result 선언 및 0으로 초기화 2) 입력 받은 값을 10으로 나누었을 때, 나머지 값 result에 더하기 3) 입력 받은 값을 10으로 나누기 4) 입력 받은 값이 0이 될 때까지 2)와 3)의 동작 반복 // 풀이 1 #include using namespace std; int solution(int .. 2023. 6. 6.
10989번: 수 정렬하기 3 - 관련 사이트: https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net "수의 범위가 작다면 카운팅 정렬을 사용하여 더욱 빠르게 정렬할 수 있습니다." 문제의 내용은 "2751번: 수 정렬하기 2"와 동일하다. 하지만, 동일 로직을 사용할 경우, 시간 초과 되어 다른 방법을 사용해야만 한다. 따라서, 힌트에 주어진 것처럼 카운팅 정렬 (Counting Sort) 을 이용하여 문제를 해결하였다. 1) 최대 개수 + 1만큼의 배열 생성 및 0으로 초기화 2) 배열[입력된 .. 2023. 6. 6.