
[백준] 1919 애너그램 만들기
2023. 1. 9. 20:14
Algorithm Study
문제 설명 https://www.acmicpc.net/problem/1919 1919번: 애너그램 만들기 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs www.acmicpc.net 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다 두 영어 단어가 주어졌을 때, 두 단어가 서로 애너그램 관계에 있도록 만들기 위해서 제거해야 하는 최소 개수의 문자 수를 구하기 문제 풀이법 처음에 문제를 잘못읽고 다른 방향으로 문제를 풀려 했었다 "철자의 순서를 뒤바꾸어 같아질 수 있다" 라는 말을..

[백준] 11328 Strfry
2023. 1. 9. 20:01
Algorithm Study
문제 설명 https://www.acmicpc.net/problem/11328 11328번: Strfry C 언어 프로그래밍에서 문자열(string)은 native한 자료형이 아니다. 사실, 문자열은 그저, 문자열의 끝을 표시하기 위한 말단의 NULL이 사용된, 문자들로 이루어진 문자열일 뿐이다. 하지만 프로그래 www.acmicpc.net strfry 함수는 입력된 문자열을 무작위로 재배열하여 새로운 문자열을 만들어 내는 함수이다 두 개의 문자열이 주어졌을 때, 2번째 문자열이 1번째 문자열에 strfry 함수를 적용하여 얻어질 수 있으면 Possible 출력 얻을 수 없으면 Impossible 출력하기 문제 풀이법 strfry 함수를 적용하여 얻을 수 있다는 말은, 다시 말하면 문자열1과 문자열2가 ..

[백준] 13300 방 배정
2023. 1. 9. 19:47
Algorithm Study
문제 설명 https://www.acmicpc.net/problem/13300 13300번: 방 배정 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 수학여행에 참가하는 학생 수를 나타내는 정수 N(1 ≤ N ≤ 1,000)과 한 방에 배정할 수 있는 최대 인원 수 K(1 < K ≤ 1,000)가 공백으로 분리되어 www.acmicpc.net n명의 학생들이 수학여행을 가는데 한 방에 최대 k명의 학생을 배정할 수 있다 방은 같은 성별, 학년별로만 이루어져야 할 때 필요한 방의 수를 구하기 문제 풀이법 우선 2차원 배열에 총 몇 명의 학생이 수학여행을 가는지 구한다 이중 for문을 돌면서 해당 학년, 성별의 학생들의 방이 몇개인지 더한다 0명 일 때 아무것도 하지 않는다 학생 수 최대 방 인원 학생..

[백준] 10807 개수 세기
2023. 1. 9. 17:44
Algorithm Study
문제 설명 https://www.acmicpc.net/problem/10807 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net n개의 정수가 주어졌을 때, 찾으려는 정수 v가 몇 개인지 구하기 주어진 정수의 범위는 -100보다 크거나 같고, 100보다 작거나 같음 문제 풀이법 처음에는 문제를 제대로 못보고 배열의 범위를 100으로 해서 틀렸다 하지만 주어진 정수의 범위가 -100 ~ 100이기에 배열의 범위를 201로 잡고, 인덱스에는 음수가 들어갈 수 없으니 정수에 100씩 더해줘서 인덱싱을 해주..

[백준] 3273 두 수의 합
2023. 1. 6. 20:28
Algorithm Study
문제 설명 https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net n개의 서로 다른 양의 정수가 주어지고, 자연수 x가 주어졌을 때 a[i] + a[j] = x인 쌍의 수를 구하기 문제 풀이법 단순히 for(int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { if (arr[i] + arr[j] == x) cnt++: } } 했다가는 시간초과 난..

[백준] 2566 최댓값
2023. 1. 6. 19:58
Algorithm Study
문제 설명 https://www.acmicpc.net/problem/2566 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net 첫째 줄부터 아홉 번째 줄 까지의 한 줄의 아홉 개의 수 중에서, 최대값과 최댓값이 위치한 행과 열을 구하기 문제 풀이법 81개의 수를 입력받으면서 그때 그때 가장 큰 수와, 그 수의 행과 열을 저장후, 출력해주었다 하지만 제출했을 때 100%에서 틀린 닶이 나왔다 이것 저것 반례를 살펴보니 행과 열의 수를 초기화 하지 않아서 생기는 문제였다 만일 모든 수가 0이라면 x와 y는 max를 값을 찾아서 값이 ..

[백준] 1475 방 번호
2023. 1. 6. 19:45
Algorithm Study
문제 설명 https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 방 번호를 붙일 수 있는 0 ~ 9까지의 플라스틱 숫자가 한 세트가 있는데, 다솜이의 방 번호가 주어졌을 떄 필요한 세트의 개수의 최소값을 구하기 이때 9와 6은 바꿔서 사용가능 문제 풀이법 방 번호를 10으로 나누면서 각 번호가 총 몇 번 사용되었는지 숫자를 셈 만일 6이 3개, 9가 1개이면 총 2세트만으로도 가능 만일 6이 4개, 9가 1개이면 총 3세트만으로도 가능 즉, (6의 수 + 9의 수 + 1) / 2 하면 총 몇 세트가 필요한지 알 수 있음 arr[6] = (6의 수 ..

[백준] 2577 숫자의 개수
2023. 1. 6. 19:31
Algorithm Study
문제 설명 https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 세 개의 자연수 a, b, c를 곱하여 나온 결과에 0 ~ 9까지의 숫자가 각각 몇 번씩 쓰였는지 구하기 문제 풀이법 세 개의 자연수는 각각 100 ~ 999의 범위를 가지고 있다 따라서 이 3개의 수를 곱하면 int형의 범위는 넘을 것이므로 충분히 long long형을 선언하여 a * b * c 값을 넣어줌 10씩 나누면서 각 숫자가 몇번 나왔는지 배열에 저장 후 출력 소스 코드 #include using namespace std; int..

[백준] 10808 알파벳 개수
2023. 1. 6. 19:21
Algorithm Study
문제 설명 https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 알파벳 소문자로만 이루어진 단어가 주어짐 각 알파벳이 단어에 몇 개가 포함되어 있는지 구하기 문제 풀이법 한 단어의 글자수 만큼 for문을 돌면서 26개의 크기로 이루어진 배열의 자신의 알파벳 인덱스에 + 1을 함 소스 코드 #include using namespace std; int main() { int arr[26] = { 0 }; string str; getline(cin, str); for (int i = 0; i < str.size(); i++) { arr[str[i] ..

[프로그래머스] 1단계 - 문자열 내 마음대로 정렬하기
2023. 1. 5. 21:35
Algorithm Study
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 각 문자열의 n번째 글자를 기준으로 오름차순 정렬하는 문제 이때 n번째 글자가 같으면 문자열을 비교하여 오름차순 정렬 문제 풀이법 처음에는 pair을 통해서 n번째 문자와, strings 상의 인덱스를 찾아서 sort해주었다 그렇게 하면 n번째 문자가 같은 경우를 처리하지 못하였다 sort할 때 필요한 cmp에서 n번째 글자를 알 수 있으면 바로 sort를 적용시켰을텐데, 알 수 없으니..