BOJ - 10570 Favorite Number
·
코딩테스트
해결방법숫자를 입력받고, 그 숫자의 빈도를 찾아서 가장 빈도가 높은 수를 찾는 방법을 구해야 한다.이 경우에는 map함수를 사용해서 S[j]를 입력받고 S[j]값의 빈도를 1 증가시키는 방식으로 빈도가 높은 수를 찾았다. 정답 코드#include #include #include using namespace std;int main(){ int N, V; cin >> N; for (int i = 0; i > V; vector S(V); map freq; for (int j = 0; j > S[j]; freq[S[j]]++; } int max = 0; int answer = 1001; f..
BOJ - 11557 Yangjojang of The Year
·
코딩테스트
해결방법T회 반복하는 반복문 안에서 N을 입력받고, N회 반복하는 반복문 내에서 학교와 술의 양을 입력받아서 Max보다 큰 값이 나온다면 그 값과 학교를 Max와 S에 입력받고, 반복이 끝났을 때의 S를 출력하는 방식으로 제작하였다. 정답 코드#include #include using namespace std;int main(){ int T; cin >> T; for (int i = 0; i > N; string school; int num; string S; int Max = -1; for (int j = 0; j > school >> num; if (num > Max) { ..
BOJ - 17173 배수들의 합
·
코딩테스트
해결방법STL의 연관 컨테이너의 템플릿 중 하나인 Set을 활용하여 배수들을 Set에 insert를 해준다.Set의 경우 중복을 허용하지 않기 때문에 자동으로 배수가 중복되더라도 걸러지게 된다.  정답 코드#include #include #include using namespace std;int main(){ int N, M; cin >> N >> M; vector num(M); for (int i = 0; i > num[i]; } set multiples; for (int i = 0; i
BOJ - 1934 최소공배수
·
코딩테스트
해결방법먼저 최대공약수와 최소공배수에 대해 정의를 알아보자.어떤 두 수가 공통으로 나눌 수 있는 가장 큰 정수를 최대공약수라고 하고,어떤 두 수의 배수 중에서 가장 작은 공통 배수를 최소공배수라고 한다. 예를 들어 12와 18의 최대공약수를 구한다면1, 2, 3, 4, 6, 12가 12의 약수,1, 2, 3, 6, 9, 18이 18의 약수이므로,공통약수 1, 2, 3, 6중 6이 최대공약수가 된다.여기서 유클리드 알고리즘을 적용하여 최대공약수를 쉽게 구할 수 있는데, 다음과 같다. 두 수 A와 B에서, A > B일 때, A와 B의 최대공약수는 A % B와 B의 최대공약수와 동일하다.이 과정을 나머지가 0이 될 때까지 반복하면, 그때의 B 값이 최대공약수가 되는데, 예를 들어 방금전의 12와 18을 예시로..
C#과 C++에서의 for, foreach, for루프 사용법
·
Programming/C C# C++
우리가 흔히 사용하는 for문은 다음과 같은 형태로 구성되어 있다.for(초기식; 조건식; 증감식){ 구현부} 가장 기본적인 형태의 for문인데, 시작점에서 값을 증감시키면서 조건식이 성립하는 한 구현부를 반복하는 것이다. while문과도 유사한 형태를 가지고 있고, 실제로 다음과 같이 대체도 가능하다.초기식;while (조건식){ 구현부; 증감식;} C#과 C++에서는 이러한 for문을 조금 변형시켜서 컨테이너 내부를 순회하는 함수를 사용할 수 있다.바로 foreach문과 범위 기반 for문이다. foreach문은 C#에서 사용하는 특수한 형태의 반복문으로, 다음과 같은 형태로 사용된다.List fibNumbers = new() { 0, 1, 1, 2, 3, 5, 8, 13 };foreach..
BOJ - 10812 바구니 순서 바꾸기
·
코딩테스트
해결방법바구니를 회전할 때 새로운 배열을 만들어서 그 안에서 회전을 시키고 기존의 배열에 값을 대입하는 방식으로 해결한다. 정답 코드#include #include using namespace std;int main(){ int N, M, i, j, k; cin >> N >> M; vector baskets(N + 1); for (int i = 1; i > i >> j >> k; int idx = 0; vector temp(j - i + 1); for (int x = i; x