본문 바로가기

전체 글

(201)
[C++] 백준 1264번 - 모음의 개수 화요일 밤부터 몸 상태가 말이 아니다... 몸살이랑 열은 괜찮아졌지만, 배가 살짝살짝 거슬리게 아팠던 증상이 심해져서 배까지 너무 아프다... 얼른 나았으면 좋겠다... 문제 1264번 https://www.acmicpc.net/problem/1264 1264번: 모음의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다. 입력의 끝에는 한 줄 www.acmicpc.net 공백이 있으니까 getline으로 입력받고, 대문자인 것들을 다 소문자로 바꿔준다. 그리고 aeiou 중 하나라면 모음의 개수를 카운트해준다. 만약 #이 하나 들어왔다면 반복문을 빠져나와주면 ..
[C++] 백준 7567번 - 그릇 으으... 이틀동안 몸살때문에 앓다가 이제야 살 것 같다... 몸이랑 머리가 너무 아프고 열도 너무 심하게 났다. (약먹고 계속 자면서 푹 쉬니까 이제야 살 것 같아) 문제 7567번 https://www.acmicpc.net/problem/7567 7567번: 그릇 그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다. www.acmicpc.net 높이(height)를 10, now를 비교할 전 접시(dish[i-1])로 초기화해준다. 높이를 10으로 초기화해줬기 때문에 인덱스 i는 1부터 시작해준다. 그리고 now와 비교할 다음 접시(dish[i])가 ..
[C++] 백준 4999번 - 아! 문제 4999번 https://www.acmicpc.net/problem/4999 4999번: 아! 입력은 두 줄로 이루어져 있다. 첫째 줄은 재환이가 가장 길게 낼 수 있는 "aaah"이다. 둘째 줄은 의사가 듣기를 원하는 "aah"이다. 두 문자열은 모두 a와 h로만 이루어져 있다. a의 개수는 0보다 크거 www.acmicpc.net 이 문제는 재환이가 가장 길게 낼 수 있는 소리가 의사가 듣기를 원하는 소리보다 작으면 no를 출력하고, 아니면 go를 출력하면 되는 문제이다. #include #include using namespace std; int main() { string j, d; cin >> j >> d; if (j.length() < d.length()) { cout
[C++] 백준 2935번 - 소음 문제 2935번 https://www.acmicpc.net/problem/2935 2935번: 소음 수업 시간에 떠드는 두 학생이 있다. 두 학생은 수업에 집중하는 대신에 글로벌 경제 위기에 대해서 토론하고 있었다. 토론이 점점 과열되면서 두 학생은 목소리를 높였고, 결국 선생님은 크게 www.acmicpc.net *일 때, 1을 먼저 출력해준다음 입력된 값들의 길이를 합한 후 앞자리 2씩 빼주어 0의 개수를 알아낸 후 그 길이만큼 0을 출력해준다. +일 때, 입력된 값들의 길이가 같으면 처음에 2를 출력해준다음 나머지 길이만큼 0을 출력해준다. 만약, 입력된 값들의 길이가 다르면 가장 긴 길이부터 시작하여 차례대로 비교하며 각 입력값의 길이와 같을 때 1을 출력해주고 나머지는 0을 출력해준다. #inc..
[C++] 백준 2744번 - 대소문자 바꾸기 문제 2744번 https://www.acmicpc.net/problem/2744 2744번: 대소문자 바꾸기 영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오. www.acmicpc.net 'A'의 아스키코드 값은 65, 'a'의 아스키코드 값은 97이므로 만약 대문자(65이상 90이하)면 32를 더해주고 그 이외의 값이면 32를 빼준다. #include #include using namespace std; //'A'의 아스키코드 값: 65, 'a'의 아스키코드 값: 97 int main() { string input; cin >> input; for (int i = 0; i < input.length(); i++) { if..
[C++] 백준 2902번 - KMP는 왜 KMP일까? 문제 2902번 https://www.acmicpc.net/problem/2902 2902번: KMP는 왜 KMP일까? 입력은 한 줄로 이루어져 있고, 최대 100글자의 영어 알파벳 대문자, 소문자, 그리고 하이픈 ('-', 아스키코드 45)로만 이루어져 있다. 첫 번째 글자는 항상 대문자이다. 그리고, 하이픈 뒤에는 반드 www.acmicpc.net 첫글자는 미리 짧은 형태 이름을 저장할 name 변수에 넣어주고, 인덱스 1부터 입력값의 길이까지 반복하여 '-'이 있다면 그 다음 글자를 name 변수에 추가해줬다. #include #include using namespace std; int main() { string name, input; cin >> input; name += input[0]; fo..
[C++] 백준 1439번 - 뒤집기 문제 1439번 https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 다른 숫자가 연속되면 count해주는 식으로 하면 될 것 같다(같은 숫자가 연속되는 부분이 아니라 다른 숫자가 나오는 부분을 찾아서 count). 여기서 count 해줄 때 0(0으로 시작하면), 1(1로 시작하면) 구분해서 변수를 만들어줄 것이다. 그리고 두 개의 변수 중 최소값을 출력하면 된다. #include #include using namespace std; int mai..
[C++] 백준 1100번 - 하얀 칸 문제 1100번 https://www.acmicpc.net/problem/1100 1100번: 하얀 칸 체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램 www.acmicpc.net string 변수에 하얀 칸이 있는 부분을 F라고 저장하고 아닌 부분은 0으로 저장했다. 체스판 위에 말이 있으면 F가 입력되므로 총 64칸을 white 변수와 비교하여 같으면(둘 다 F면) count를 증가시켜준다. #include #include using namespace std; int main() { string white = "F0F0F0F00F0F0F0FF0F0F0F..