Fascination
article thumbnail
[C++] BOJ 5086 : 배수와 약수
CODE/BOJ 2021. 10. 2. 23:38

[문제] 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net [문제 풀이] - a가 b의 약수일 때, b는 a로 나누어 떨어짐 - a가 b의 배수일 때, a는 b로 나누어 떨어짐 [코드] #include #include using namespace std; string trans(unsigned int a, unsigned int b); int main() { unsigned int a, b; cin.sync_with_stdio(0); cin.tie(0); do { cin >> a >> b; if(a==0&&b==0) return 0; cout

article thumbnail
[C++] HackerRank : Simple Array Sum
CODE/HackerRank 2021. 9. 21. 16:28

[문제] Simple Array Sum | HackerRank Calculate the sum of integers in an array. www.hackerrank.com [문제 설명] - 배열의 모든 수를 더해 반환하기 [문제 풀이] - int형 배열이 아닌 vector를 사용하고 그 벡터의 size()를 사용하여 배열의 길이를 사용함 - for문을 사용하여 벡터의 크기만큼 덧셈을 수행함 [코드] int simpleArraySum(vector arr) { int sum=0; for(int i=0;i

article thumbnail
[C++] HackerRank : Diagonal Difference
CODE/HackerRank 2021. 9. 21. 16:14

[문제] Diagonal Difference | HackerRank Calculate the absolute difference of sums across the two diagonals of a square matrix. www.hackerrank.com [문제 설명] - 배열에서 교차되는 수 2개(왼쪽에서 오른쪽 대각선 방향, 오른쪽에서 왼쪽 대각선 방향)의 합의 절댓값을 구하기 [문제 풀이] - for문을 사용하여 더해지는 배열 대각선 방향의 합을 구함 > 왼쪽에서 오른쪽 방향 대각선의 합은: arr[i][i]를 사용하여 구할 수 있음 > 오른쪽에서 왼쪽 방향 대각선의 합은: arr[i][size-1-i]를 사용하여 구할 수 있음 * 이때 size는 배열의 행 혹은 열의 크기임 (정사각형 모양의 배..

article thumbnail
[C++] BOJ 10867 : 중복 빼고 정렬하기
CODE/BOJ 2021. 9. 19. 01:44

[문제] 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net [문제 풀이] - 동적할당으로 배열 생성 - 수 입력받기 - sort()로 정렬 - 출력하면서 이전 인덱스와 같은 숫자면 출력 X [코드] #include #include using namespace std; int main() { int tc; cin>>tc; int *a = new int[tc]; for(int i=0;i>a[i]; } sort(a,a+tc); cout

article thumbnail
[C++] BOJ 10814 : 나이순 정렬
CODE/BOJ 2021. 9. 19. 01:40

[문제] 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net [문제 풀이] - List 구조체 선언 후 - List 형식을 가지는 vector 생성 - compare 사용하여 sort()로 나이순 오름차순 정렬 [코드] #include #include #include using namespace std; struct List{ int age; string name; }; bool compare(const List &i, const List &j){ return i.age>tc; vector person; List lis..

article thumbnail
[C++] HackerRank : Time Conversion
CODE/HackerRank 2021. 9. 19. 01:18

[문제] Time Conversion | HackerRank Convert time from an AM/PM format to a 24 hour format. www.hackerrank.com [문제 설명] - 입력은 string으로 주어지면 12시 형식으로 주어짐 - AM과 PM을 보고 24시 시간으로 주어진 시간을 바꾸는 것이 목표 [문제 풀이] - AM인 경우에는 12시 일때 00시 인 것을 고려함 > 12시가 아닌 경우에는 시간을 그대로 반환 - PM인 경우에는 주어진 시에 12를 더해야 함 > 12시에 12를 더할 경우 24가 되므로 이는 예외로 따로 처리함 [코드] string timeConversion(string s) { int num; if(s[8]=='A') { if(s[0]=='1'&..

article thumbnail
[C++] HackerRank : Left Rotation
CODE/HackerRank 2021. 9. 19. 00:53

[문제] Left Rotation | HackerRank Given an array and a number, d, perform d left rotations on the array. www.hackerrank.com [문제 설명] - 예제를 보면 입력 받은 횟수 만큼 맨 앞의 원소가 왼쪽에서 나와 오른쪽으로 들어가고 있음 [문제 풀이] - 왼쪽에서 나와 오른쪽으로 들어가는 방식 -> 큐를 생각 - 백터로 반환 형식이 지정되어 있으므로 vector의 stl 사용 > v.front(): 맨 앞의 원소를 반환 > v.push_back(): 원소를 뒤에 넣음 > v.erase(): 해당 위치의 원소를 지움 [코드] vector rotateLeft(int d, vector arr) { int temp; for(..

article thumbnail
[C++] BOJ 2959 : 거북이
CODE/BOJ 2021. 9. 17. 13:02

[문제] 2959번: 거북이 첫째 줄에 거북이가 생각한 네 양의 정수 A, B, C, D가 주어진다. (0 num; v[i]=num; i++; } cout

article thumbnail
[C++] BOJ 2752 : 세수정렬
CODE/BOJ 2021. 9. 17. 12:57

[문제] 2752번: 세수정렬 숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다. www.acmicpc.net [문제 풀이] - 이중 배열을 사용해 비교하고자 하는 인덱스를 이전 인덱스들과 모두 비교하는 방법을 생각했음 [코드] #include using namespace std; void sorting(int* arr); int main() { int v[3]; unsigned int i=0, num; while(i>num; v[i]=num; i++; } sorting(v); } void sorting(int* arr){ int temp; for(int i=0;i

article thumbnail
[C++] BOJ 12605 : 단어순서 뒤집기
CODE/BOJ 2021. 9. 15. 11:19

[문제] 12605번: 단어순서 뒤집기 스페이스로 띄어쓰기 된 단어들의 리스트가 주어질때, 단어들을 반대 순서로 뒤집어라. 각 라인은 w개의 영단어로 이루어져 있으며, 총 L개의 알파벳을 가진다. 각 행은 알파벳과 스페이스로만 www.acmicpc.net [문제 풀이] - 단어의 개수가 5로 고정이지만 우선 입력 받는 것으로 처리 - 문장을 입력받고 토큰 단위로 stack에 저장 - pop하여 단어 순서를 뒤집음 [코드] #include #include #include using namespace std; class Word{ public: string words; }; int main() { Word stack[52]; int top = -1; string str; int n; cin>>n; cin.i..