일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 컴공
- 구현
- vector
- 오에스
- 컴퓨터공학과
- 브루트포스
- bfs
- 컴공과
- Computer science
- 북리뷰
- 정석학술정보관
- cs
- DP
- 문제풀이
- Stack
- 정석
- 코딩
- 백준
- 자료구조
- 개발
- 스택
- 코테
- OS
- Operating System
- 알고리즘
- 오퍼레이팅시스템
- coding
- 너비우선탐색
- c++
- 그래프
- Today
- Total
목록코딩테스트 (4)
Little Jay
마스크를 쓰지 않고는 밖을 다니면 안 되는 코로나19 시대입니다. 코로나19가 장기화되면서 코로나 블루라는 말이 나올 정도로 우울한 사람들이 많아지고 있습니다. 세계적인 전기자동차 회사 경영자인 '얼른 마스크'씨는 자신의 전기자동차를 타는 고객들이 조금이라도 행복할 수 있기를 바라며 판매하는 전기자동차 번호판 일련번호 4자리를 행복 수(happy number)로 채우고자 합니다. 행복 수는 각 자릿수의 제곱의 합으로 변환하는 과정을 반복할 때 언젠가는 1에 도달하는 수입니다. 예로, 13 → 1x1 + 3x3 = 10 → 1x1 + 0x0 = 1이므로 13은 행복 수입니다. 행복 수가 아닌 것은 슬픈(sad) 수 또는 불행(unhappy) 수라고 불립니다. 예로, 4 → 4x4 = 16 → 1x1 + 6..
이 문제는 팩토리얼이라는 소리를 듣자마자 분명 계산해서 푸는것은 아니라고 직감했다. 10!만 되도 30만이 넘어갈텐데(맞나.....?) 문명 입력되는 n의 크기가 커지면 아무리 long long을 써도 저장을 못할것 같았다. string으로 접근하려고 했는데, 이것도 아닌것 같아서 고심을 해보았다. 결국 뒤의 0의 개수는 10이 몇번 나오는지에 따라 달렸다. 그러니까 팩토리얼을 계산할 필요 없이 그냥 n에서 2와 5가 얼마나 나오는지만 고민하면 되는 것이다. 제곱수일때만 생각을 해주면 되는 생각보다 간단한 문제였다. #include #include using namespace std; int main() { int n; int two = 0, five = 0; cin >> n; for (int i = 2..
Brute Force 문제 항상 Brute Force 문제를 풀 때는 제어문과 내가 중간에 뭘 찾고자 하는지 잘 생각하면서 풀어야한다. 이 문제는 비교하는 대상이 작아서 다행이지만, 이 숫자가 엄청 커져버리면 항상 주의를 해야한다. #include #include using namespace std; char arr[51][51]; char white[8][8] = { 'W','B','W','B','W','B','W','B', 'B','W','B','W','B','W','B','W', 'W','B','W','B','W','B','W','B', 'B','W','B','W','B','W','B','W', 'W','B','W','B','W','B','W','B', 'B','W','B','W','B','W','..
#include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int a, b, c; while (true) { cin >> a >> b >> c; if (a == 0 && b == 0 && c == 0) break; else { if (a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a) { cout