Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 숙명여자대학교
- ICPC Sinchon
- 스레드
- dalgona
- 운영체제
- Solution Challenge
- 운영진
- People's Choice Award
- 프로그래머스
- 프로세스
- 1260 c++
- Dart 문법
- 알고리즘
- swift
- audioPlayer
- SMUPC
- Flutter
- GDSC Sookmyung
- BOJ1260
- formatTime
- 플러터
- C++
- 2024 하반기
- ZeroZone
- CodeForces
- 신촌연합
- DART
- ALGOS
- 백준
Archives
- Today
- Total
Whaeun Story
[2021 ICPC Sinchon Summer Algorithm Camp Contest] BOJ - 22950 이진수 나눗셈 출제 후기 및 풀이 본문
대회/대회 출제 후기
[2021 ICPC Sinchon Summer Algorithm Camp Contest] BOJ - 22950 이진수 나눗셈 출제 후기 및 풀이
whaeun 2021. 8. 22. 22:42문제 링크 : https://www.acmicpc.net/problem/22950
[출제 후기]
이 문제는 학기 중에 "운영체제" 과목을 공부하다 고안하게 된 문제이다. 특정한 이진수가 2의 제곱의 형태의 수로 나누어 떨어지는지 확인하고 풀어야 하는 문제가 있었는데 처음에 단순히 직접 제곱해서 문제를 풀다가 이진수의 뒷 부분에 위치한 0의 개수가 2의 K제곱의 K만큼 존재하면 나누어 떨어지기 때문에 뒷 부분에 위치한 0의 개수만 확인하면 된다는 사실을 깨닫고 문제로 출제하면 좋을 것 같다는 생각이 들어 Camp Contest의 문제로 출제하게 되었다.
[문제 풀이]
위 영상은 스트리밍에 사용되었던 문제 풀이 영상이다.
이진수 나눗셈 문제는 이진수의 각 자리 수가 2의 제곱의 형태로 나타남을 이용한 문제이다. 내가 출제하면서 의도했던 정해 풀이는 stack에 이진수 M의 각 자리 수를 넣고 pop을 진행하며 K만큼 동안 확인하며 그 사이에 1이 나온다면 "NO"를 스택이 먼저 비게 되거나 반복문을 마치게 되면 "YES"를 출력하는 것이다.
추가적으로 영상에서는 설명하지 않았었지만 주의해야 할 예외 케이스를 이야기하자면 K가 N보다 큰 경우도 고려해 주어야 했다. 예를 들어 N이 1이고 이진수 M이 0, K가 2일 경우 이진수 M이 0이기 때문에 어떤 수로 나누든 나누어 떨어지는 것이기 때문에 "YES"를 출력해 주어야 하기 때문이다.
[정해 코드]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#include<iostream>
#include<algorithm>
#include<stack>
#include<cstdio>
using namespace std;
stack<int> num;
int main(){
int n, k;
scanf("%d", &n);
for(int i =0; i<n; i++){
int m;
scanf("%1d", &m);
num.push(m);
}
scanf("%d", &k);
for(int i =0; i<k; i++){
if(num.empty()){
break;
}
int top_num = num.top();
num.pop();
if(top_num != 0){
printf("NO");
return 0;
}
}
printf("YES");
}
|
cs |
'대회 > 대회 출제 후기' 카테고리의 다른 글
[2021 ICPC Sinchon Summer Algorithm Camp Contest] BOJ -22955 고양이 도도의 탈출기 출제 후기 및 풀이 (4) | 2021.08.24 |
---|---|
[SMUPC 대회] 제1회 숙명여자대학교 교내 알고리즘 경진대회 출제 후기 (2) | 2021.06.24 |
[BOJ 21734 - 21740] SMUPC 대회 문제 풀이 (0) | 2021.05.30 |