전체 글

취뽀완료
백준 문제풀이/브론즈1

백준 1032번 - 명령 프롬프트

https://www.acmicpc.net/problem/1032 1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 www.acmicpc.net 답 제출을 위한 string을 하나 복사해놓고 1 vs 2, 1 vs 3 ... 을 하면서 다른 문자열이 있으면 ?로 answer에 넣는 방식을 구현했다. #include #include using namespace std; int main() { int n = 0; cin >> n; string first; cin >> first; string answer = first; int cnt =..

백준 문제풀이/브론즈2

백준 1152번 - 단어의 갯수

https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 사고 과정) 1. 문자열의 길이의 범위가 1,000,000 이라서 그냥 string으로 받았음. 2. 단어의 구분은 공백이기에, 공백을 기점으로 생각해야겠다. 3. 공백이 맨 처음이나 끝에 있으면 특수 경우네. *교훈) 공백도 문자열로 포함해서 받아야하는데, 단순히 cin>>으로 받으면, 공백을 만나면 끝이 되버림. 그럴때, std::getline()함수를 사용해야한다. #include #i..

백준 문제풀이/브론즈2

백준 1159번 - 농구 경기

https://www.acmicpc.net/problem/1159 1159번: 농구 경기 상근이는 농구의 세계에서 점차 영향력을 넓혀가고 있다. 처음에 그는 농구 경기를 좋아하는 사람이었다. 농구에 대한 열정은 그를 막을 수 없었고, 결국 상근이는 농구장을 청소하는 일을 시작 www.acmicpc.net #include using namespace std; int main() { int N; int number = 0; cin >> N; int num[26] = { 0 };// 알파벳들의 갯수 배열 char temp[31];// 입력받는 문자열 for (int i = 0; i > temp; num[int(temp[0] - 97)]++;// 영어소문자 -> 정수로. } for..

백준 문제풀이/브론즈2

백준 1100번 - 하얀 칸

https://www.acmicpc.net/problem/1100 1100번: 하얀 칸 체스판은 8*8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램 www.acmicpc.net 배열에 입력들 다 받아가면서 동시에 비교로 해당 흰 칸에 F가 들어가는지 판단. #include using namespace std; int main() { char chess[8][8]; int sum = 0; for (int i = 0; i > chess[i][j]; if (i % 2 == 0 && j % 2..

백준 문제풀이/브론즈2

백준 1075번 - 나누기

https://www.acmicpc.net/problem/1075 1075번: 나누기 첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. F는 100보다 작거나 같은 자연수이다. www.acmicpc.net 우선 생각했던 건, 1. 주어진 숫자 뒷자리 두개를 00으로 만들어서 처음부터 시작하게 해야겠다. 2. 하나씩 값 더해가면서 f로 나뉘어떨어지는지 계속 비교 3. 나눠떨어지면 마지막 두자리(값이 얼마나 더해졌는지) 출력해주면 되고 4. 만약 한자리면 앞에 0 붙여줘서 출력해주면 되겠다. #include using namespace std; int main() { unsigned int n; unsigned short f; in..

백준 문제풀이/브론즈3

백준 1284번 - 집 주소

https://www.acmicpc.net/problem/1284 1284번: 집 주소 재석이는 대문에 붙이는 (주소를 나타내는) 호수판 제작업체의 직원이다. 고객에게 전달할 호수판은 숫자와 숫자 사이 그리고 왼쪽 오른쪽으로 적당히 여백이 들어가 줘야하고 숫자마다 차지하 www.acmicpc.net 우선 조건들이 있으니, 조건문을 써야할 것이고... 나눗셈을 이용해서 한자리씩 계산하고, 마지막이 나눴을 때 몫이 0이면 그 때 끝난 거지. 경우가 1일때 얼마, 2일때 얼마라서 switch-case문으로 구분함. 0이 출력될 때 break하게 조건 걸어두고. #include using namespace std; int getResult(int); int main() { while (true) { int n;..

백준 문제풀이/브론즈3

백준 2355번 - 시그마

https://www.acmicpc.net/problem/2355 2355번: 시그마 첫째 줄에 두 정수 A, B가 주어진다. (-2,147,483,648 ≤ A, B ≤ 2,147,483,647) www.acmicpc.net 시간제한이 0.25초로 매우 빡세다. 처음에는 당연히 반복문을 이용해 하나씩 더해나가려 했다. #include using namespace std; int main() { long a, b; long big, small = 0; long sum = 0; cin >> a >> b; a > b ? big = a, small = b : big = b, small = a; while (small a >> b; if (a > b) cout

백준 문제풀이/브론즈3

백준 2501번 - 약수 구하기

https://www.acmicpc.net/problem/2501 2501번: 약수 구하기 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. www.acmicpc.net 약수들 다 구해서 배열에 넣어놓고 조건에 맞게 출력하면 될듯..? #include using namespace std; int main() { int n, k = 0; cin >> n >> k; int* arr = new int[n]; int count = 0; for (int i = 1; i

void_melody
성수의 프로그래밍 극복 기록