본문 바로가기

C++63

한 번만 등장한 문자 - 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120896 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 입력받은 문자열에서 한 번씩만 등장하는 문자들을 사전 순으로 정렬하여 표출하는 문제이다. 1) 문자열 길이가 1인 경우, 입력받은 문자열을 return 2) 문자열 사전 순으로 정렬 3) 앞뒤 문자와 모두 다를 경우, 결과 문자열로 저장 (예: aabcc → b) #include #include #include using namespace std; string solution(.. 2023. 6. 20.
1735번: 분수 합 - 관련 사이트: https://www.acmicpc.net/problem/1735 1735번: 분수 합 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. www.acmicpc.net 2개의 분수가 주어졌을 때, 두 분수의 합을 기약분수로 나타내는 문제이다. 1) 입력받은 두 분수의 합 계산 입력받은 분수: a/b, c/d 분자 = a * d + c * b 분모 = b * d 2) 계산된 분자, 분모의 최대공약수 계산: 유클리드 호제법 이용 3) 계산된 분자, 분모를 각각 최대공약수로 나눔 == 기약분수 #include using namespace std; int gcd(int a, int b) { return .. 2023. 6. 20.
13241번: 최소공배수 - 관련 사이트: https://www.acmicpc.net/problem/13241 13241번: 최소공배수 정수 B에 0보다 큰 정수인 N을 곱해 정수 A를 만들 수 있다면, A는 B의 배수이다. 예: 10은 5의 배수이다 (5*2 = 10) 10은 10의 배수이다(10*1 = 10) 6은 1의 배수이다(1*6 = 6) 20은 1, 2, 4,5,10,20의 배수이다. 다 www.acmicpc.net 자연수 A와 B의 최소공배수를 구하는 문제이다. "1934번: 최소공배수" 문제와 동일하지만, 유클리드 호제법으로 최대공약수를 구해야 한다는 조건이 있다. "1934번: 최소공배수" 의 두번째 풀이를 적용해주면 된다. 1) 유클리드 호제법을 이용하여 A, B 두 수의 최대공약수 확인 3) (A * B) /.. 2023. 6. 19.
숨어있는 숫자의 덧셈 (2) - 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120864 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr "숨어있는 숫자의 덧셈 (1)" 문제와 연관된 문제이다. 이번에는 연속된 수일 경우, 하나의 수로 계산해주도록 한다. 1) 문자열 처음 문자부터 끝 문자까지 for문 수행 2) 문자가 숫자인 경우, 임시 문자열에 추가 3) 문자가 숫자가 아닌 경우, 임시 문자열을 숫자로 변환하여 합 계산 4) for 문 완료 시, 아직 계산되지 않은 임시 문자열의 값이 존재하는지 확인하여 합 .. 2023. 6. 18.
숨어있는 숫자의 덧셈 (1) - 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120851 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 입력받은 문자열 내의 모든 자연수의 합을 구하는 단순한 문제이다. 이 때, 연속으로 숫자가 입력되더라도 각각 하나의 숫자로 확인해주도록 한다. 1) 문자열 처음 문자부터 끝 문자까지 for문 수행 2) 문자가 숫자인 경우, 숫자로 변환하여 합 계산 #include using namespace std; int solution(string my_string) { int answer.. 2023. 6. 18.