본문 바로가기

Algorithm80

자릿수 더하기 - 관련 사이트: 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.
2751번: 수 정렬하기 2 - 관련 사이트: https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net "N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오." "시간 복잡도가 O(nlogn)인 정렬 알고리즘으로 풀 수 있습니다. 예를 들면 병합 정렬, 힙 정렬 등이 있지만, 어려운 알고리즘이므로 지금은 언어에 내장된 정렬 함수를 쓰는 것을 추천드립니다." 입력된 숫자를 정렬하는 문제이다. vector를 사용하여 값을 저장하고 C++ 내장 함수, .. 2023. 6. 6.
모스부호 (1) - 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120838 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr "머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다. 그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다. 문자열 letter가 매개변수로 주어질 때, letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요." 모스부호와 동일한 순서 (index)의 문자를 매칭시켜주면 되는 문제이다. 단, 모스부호로 이루어진 문장은 연속.. 2023. 6. 5.
A로 B 만들기 - 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120886 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr "문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요." #include #include using namespace std; int solution(string before, string after) { for (int i = 0;.. 2023. 6. 5.