
기본적인 입출력 문제라서 단순히 강의만 들은 나도 가볍게 풀고 넘어갈 수 있었다.이 문제는 2558처럼 입력을 따로 받는 것이 아니라 두 수를 하나의 cin으로 한번에 입력받아야 했다.강의에서 배우지 못했다는 것을 알고 구글링을 통해 여러 수를 하나의 cin으로 입력받

입력을 먼저 다 받고, 출력을 순서대로 다시 출력해야 해서 for문 두 개를 사용했다처음에 배열 arr의 크기를 30으로 정했더니 런타임 에러가 발생했다(OutOfBounds - 컨테이너 또는 배열에서 할당된 경계를 넘어가는 접근 발생)배열 arr의 크기를 1000으로

원래는 switch문으로 경우를 나누려고 하였으나 안타깝게도 C++에서는 정수 타입만 허용되어서 그러지 못했다처음에는 for문보다 한번 더 입력을 받고 나서야 출력하길래 코드를 갈아엎고 다시 만들었다생각보다 너무 어려웠다

처음에는 출력 형식을 맞추지 않아 틀렸다어떤 식으로 가져와야 하는지 잘 몰라 구글링을 해보았는데, 하드 코딩으로 하면 된다고 하여 같은 방식으로 문제를 해결하였다처음에는 이중 for문을 사용했는데, 삼중 for문을 사용하니 문제가 해결되었다그래도 출력에 자꾸 오류가 생

모든 경우의 소인수를 if문 처리할 수 없으므로 while문과 for문을 이중으로 사용해야 한다

원래는 1부터 더해가는 방식으로 풀었으나, 자꾸 틀려서 1부터 빼는 방식으로 코드를 새로 작성했다이렇게 했는데 계속 오류 나다가 if문 아래에 num--;로 cout << num으로 바꾸자마자 맞는 거 보고 스트레스 받음어차피 출력되는 건 똑같지 않나...

처음에는 for문 안에 while문과 또다른 for문을 넣어 복잡하게 해결하려고 했으나, 그 while문에서 예외 처리 오류가 자꾸 나서 구글링을 해보고 수정했다최소공배수는 두 수의 곱을 최대공약수로 나눈 것과 같기 때문에 gcd를 사용했다

오랜만에 한번에 맞은 문제라 뿌듯했다모든 경우의 수를 잘라서 이중 if-elseif 문드로 처리했다

if-else문으로 돈을 받을 필요가 없을 경우를 처리했다모든 경우를 if-else if-else문으로 쪼갰다처음에 fst == snd == trd 식으로 세 개를 연결해서 오류가 발생했다

C++은 string으로 switch문이 불가하여 모두 if-else if-else문으로 처리했다앞뒤 그릇을 모두 비교할 수 있게 for문을 사용했다앞의 그릇과 비교하여 다르면 +10, 같으면 +5를 하도록 if-else문을 작성했다

광고 안 했을 때 수익과 (광고했을 때 수익 - 광고비)를 비교하여 if-else if-else문으로 처리했다

현재 시간은 hour min sec로 입력받고 필요한 시간 need를 입력받는다need는 초 단위이기 때문에 3600으로 나누어 needh, 그 나머지를 60으로 나누어 needm, 그 나머지를 needs로 둔다마지막에는 23 59 59 다음이 00 00 00이라는 조

문자열 하나씩 비교가 필요하여 string 한 글자씩을 char test에 할당한 뒤, A인지 B인지 판단하는 if-else if문을 작성하였다각 경우가 맞을 때마다 개수를 하나씩 늘리는 int변수를 할당하여 개수 비교를 가능하게 하였다

입력이 1과 0밖에 없어 ans를 int형으로 지정했다for문을 돌며 개수를 세고, 빠져나온 후 if-else문을 통해 결과를 출력한다팰린드롬인지 확인하는 부울값 변수를 지정했다for문을 사용하여 첫글자와 마지막 글자를 비교해가도록 했다

while문으로 0 0이 cin될 때까지 무한으로 입력받도록 했다if-else if-else문으로 각 경우를 처리했다위와 같은 조건이라 위의 코드를 간단하게 수정하였다M과 F의 입력을 받아 더한 수를 출력하기만 하면 된다

각 사분면의 경우를 if-else if문으로 처리하고, 어떠한 사분면에도 속하지 않을 때는 else로 처리했다

주석 참고

자꾸 오류가 나서 구글링 했다arrp++로 약수를 저장했다전체 초 T를 각 A, B, C로 나누어 T가 0이 아닐 때는 -1을 출력하고,정확하게 나누어 떨어진다면 값을 출력한다

횟수를 받아 그만큼 for문으로 반복하고,각 주사위를 비교해 칵은 사람의 점수에서 큰 사람의 주사위 눈을 뺀다9회로 이루어진 야구 경기를 케이스마다 결과를 출력해야 하므로 이중 for문을 사용하였다

각 경우를 받아서 가장 술을 많이 마신 대학의 이름을 저장하고, 출력한다

for문으로 제곱수를 계산하여 그 제곱수가 M과 N 사이에 존재할 때만 배열에 추가하고, 그 제곱수의 합을 계산하도록 했다

선수의 가격과 이름을 받아 max값보다 크면 내용을 바꾸도록 했다

한번에 시간을 입력받아 substr로 시, 분, 초를 나누고,그 수를 stoi를 사용해 int형으로 바꾸어 시간의 차를 계산하였다if문으로 받아올림이 필요한 경우를 처리하였으며cout.width로 두자리 수를 고정하고, 한 자리 수일 때 0을 채워넣도록 하였다

C++의 cin과 cout이 느려 시간초과가 발생하므로,scanf와 printf를 사용해야 한다위와 반대이기 때문에 for문 조건을 거꾸로 설정하였다

공백과 별의 합이 항상 N이라는 점을 이용하여 이중 for문을 사용하였다역순으로 별을 출력하도록 하였다위 문제와는 달리 공백을 고려할 필요가 없었다2439와 2440의 코드를 합쳐서 조건을 조금 수정하면 해결된다공백 출력 조건을 (int i = 0; i < lin

각 년, 월, 일을 비교하도록 조건문을 작성하였다

gcd와 lcm 함수를 사용하였다
Day 28 2748 문제 code 풀이 과정

전체 금액을 입력받고, for문을 통해 9권의 책 가격을 받는 동시에 전체 금액에서 차감하여 나머지 한 책의 가격을 출력하도록 하였다0 0이 입력될 때까지 덧셈을 반복하기 위해 while문을 사용하였다

학점 \* 성적 / 총 학점 을 계산하여 출력하도록 하였다cout << fixed;cout.precision(1);소수 첫째 자리로 고정하였다사과 개수를 각 학교 학생 수로 나누어서 총 남은 사과 수에 더하도록 하였다
Day 31 2442 문제 code 풀이 과정 2443 문제 code 풀이 과정 2444 문제 code 풀이 과정 처음에는 큰 for문 하나로 처리하려고 했으나 쪼개서 출력해야 했다

너비를 N-i로 설정하고, 공백을 출력하게 했다별을 1개부터 입력받은 개수까지 순서대로 출력하였다

각 자동차와 그의 옵션을 입력받을 때마다 charge 변수를 더하도록 하였다마지막에 출력하고 나서는 charge를 다시 초기화하였다for문으로 멀티탭의 개수만큼 반복을 하게 하였고,마지막 멀티탭이 아닐 경우에는 다음 멀티탭을 꽂아야 하므로 -1 처리를 하는 if문을 작

별을 양쪽에 출력해야 하므로 width를 재설정하였다for문을 수정하여 별을 모래시계 형태로 출력하도록 하였다

값을 받자마자 total에 더하여 출력하도록 하였다아이들과 아빠가 나눠갖는 것을 몫과 나머지로 계산하여 출력하였다

case를 출력하기 위해 i를 1부터 n+1까지로 설정하였다두 주사위 값을 더한 값을 출력해야 하기 때문에 f+s를 출력하였다면의 개수를 출력하는 문제이기 때문에 면의 개수 공식을 적용하여 출력하였다면의 개수 = 모서리 개수 + 2 - 꼭짓점 개수

칸 하나를 고정하고, 그 칸에 들어있는 점의 수와 다른 칸의 점의 수가 같아지면 고정된 칸의 점 개수를 하나씩 늘려가도록 한다이를 위해 이중 for문을 사용하였다이중 for문을 이용하여 출력하도록 하였고,출력할 때 홀수 번째 줄과 짝수 번째 줄을 if - else if

for문을 통해 ans로 수를 N개만큼을 받고, 그중 X보다 작은 수를 공백을 사이에 두고 출력하였다for문으로 작을 때부터 반복했더니 죽어도 안되길래 while로 큰 수부터 처리하였다is_prime이 참일 때만 num++을 하도록 하여 소수의 개수를 출력하였다

소수인지 판별하는 함수를 통해 값을 출력하도록 하였다for문을 통해 약수를 찾아 ans 리스트에 넣고, K번째 약수를 리스트에서 뽑아내기 위해 인덱스를 K-1로 지정하여 출력하였다

입력 받을 때마다 그 수를 max와 비교하여 가장 큰 수를 max에 저장하도록 하였고, i+1번째를 maxnum에 저장하여 마지막에 한꺼번에 출력하였다하드코딩으로 해결하였다

첫번째, 두번째 수를 설정하고 그 이후로는 for문을 사용해 다음 피보나치 수를 구하도록 하였다for문 안에 if문을 넣어 받는 즉시 홀수 여부를 판단하게 하였고, 홀수가 맞다면 min과 비교하여 최소값을 갱신하게 하였으며, 비교 후에는 총합에 더하도록 하였다

T개의 케이스만큼 N을 받아 N개의 수를 받아 각자 합을 구하고, sum을 초기화하였다 0과 1을 더한 합으로 도/개/걸/윷/모를 결정하도록 설정하였다

일의 자리가 n과 같으면 sum을 하나씩 늘어나게 하였다점수를 받아서 최대값을 결정하고 새로운 점수들로 평균을 냈다앞의 수를 0인지 1인지 판단하여 score를 초기화할지, 하나 더할지 결정하고, 현재의 수를 0인지 1인지 판단하여 sum에 점수를 더할지 말지 결정한다

각 자리의 수를 비교하여 뒤집었을 때 더 큰 수를 알아내도록 하였다지능형 기차 문제의 for문 범위를 10까지 늘리기만 하면 된다

pow 때문에 정확한 값이 나오지 않아서인지 예제 넣으면 맞게 나오는데 제출했더니 틀려서 전자 뇌의 도움을 받았습니다...for (char c : ansStr) { ... }: ansStr 문자열을 순회하면서 각 문자(c)를 차례로 가져옵니다. 이때, c는 '1', '

전체 텍스트의 길이를 size()를 통해 받아서 for문 두 개를 사용하여 빠지는 글자만 빼고 출력하도록 하였다값을 모두 더하여 sum 배열에 저장하게 하였고 max로 최대값을, 그 인덱스를 whoisMax에 저장하게 하여 마지막에 출력하였다

각 수를 모두 비교하여 bool값에 따라 결과를 저장하도록 하였다매번 계산할 때마다 각 자리를 배열에 넣어 인덱스 출력이 쉽도록 만들었다

값을 end인덱스까지 1, 2, 2, 3, 3, 3 ... 더하게 만들었으며,다른 for문을 통해 start부터 end까지 더하도록 하였다각 수를 모두 저장하고, 배열을 한번 돌면서 v와 비교하도록 하였다

입력을 받아 최소와 최대를 구하도록 하였다문제에서 제시한 최소값이 -1000000인 것을 주의해야 한다처음에 어떻게 거리를 구해야 하는지 몰라서 풀지 못했다2 \* (max - min)로 최소 거리를 구할 수 있다마지막에는 min과 max를 초기화하는 것이 중요하다

최대값보다 큰 값이 발견되면 해당 위치 이후의 값들을 한 칸씩 뒤로 옮긴다그리고 새로운 최대값을 현재 위치에 할당한다수를 세 개 받아서 정렬 후 출력하도록 하였다

약수의 개수만큼 정렬하여 최대\*최소를 하면 값이 나온다업로드중..버거와 음료 각 최소값을 구하여 세트 값을 계산하였다min()과 max()는 무조건 인수를 두 개만 받으므로 이중으로 사용하였다