반응형

백준알고리즘 24

[ C++ ] #2577 ( 숫자의 개수 )

어떻게 각 자리 숫자를 확인할까 하다가 몇자리인지 확인하고 그만큼 반복하며 일의자리 수 체크 10으로 나누기를 했다. 하지만 훨 간단한 방법이 있었다. 난 몇번반복하는가에 대하여 고민을 많이 했는데 이를 한번에 해결할 방법이 있었다. 밑에 주석처리 해놨으니 참고하면 될 것 같다. #include #include using namespace std; int main() { int a, b, c,sum; int num[10] = { 0, }; cin >> a >> b >> c; sum = a * b * c; int D=10,B=1; while (sum>D) { D *= 10; B++; } for (int i = 0; i < B; i++) { num[sum % 10]++; sum /= 10; } /* whil..

BOJ/[ BOJ ] C++ 2022.02.20

[ C++ ] #10804 ( 카드 역배치 )

열심히 해봤는데.. 그냥 순서대로만 나온다ㅠㅠㅠ 한시간 넘게 풀어도 여러번 해봐도 순서대로만 나온다.. 결국 답지를 봤고.. 답지와 내 답이 똑같은데 왜 안되지? 하며 30분을 고민했다 알고보니 사소한 실수 때문이었다 ㅠㅠ 알고리즘 짤 때는 잘 짰는데 코드로 옮기면서 나누기2를 안한 것... 이런 아 이런 좀 더 꼼꼼하게 보도록.. #include #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(nullptr); int num[21]; for (int i = 1; i > a >> b; for (..

BOJ/[ BOJ ] C++ 2022.02.11

[ C++ ] #10093 ( 숫자 )

하.. 이번문제도 문명 예제대로 출력이 되는데 자꾸 틀렸다고 떴다.. 이런 경우 참 뭐 고칠데도 없보여서 어찌해야할지 모르겠다. 고민하다가 답지를 봤다. 나의 문제점은 1) a와 b가 같을 때를 고려하지못함 2) a가 b보다 큰 경우를 고려하지 못함 난... 예외처리를 안해주도 되는줄 알았다. 하지만 따로 안해도 된다는 말이 있는 것이 아니면 해야할 것 같다. 이 문제 코드는 굉장히 짧았지만 정답률이 20퍼 대였다 모두 나와같은 실수를 했겠지? #include #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(nullptr); long long a, b; cin >> a >> b; if (a >b) { swap(a, b..

BOJ/[ BOJ ] C++ 2022.02.09

[ C++ ] #2309 (일곱 난쟁이)

여러 방법으로 시도했는데... 안된다 악악!!! 내가 해본 방법은 (9개 합 - 100) 해서 나온 값을 저장하고 난쟁이들의 키를 하나하나 더해서 그 값이 나오는걸 찾앗 지운다. 였다 하지만 되지 않는다..... 오랜시간 고민하고 답지를 봤다. 하.. 알고리즘은 생각했던건데 구현방법을 모르겠어서 포기했던 방법이 정답이었다. 나중에 다시 풀어봐야겠다 #include using namespace std; int num[9], result[7]; int main(void) { ios::sync_with_stdio(0); cin.tie(0); for(int i = 0; i > num[i]; // 9명 중 2명을 뺀 모든 조합 고려 for(int a = 0; a < 8; a++) { i..

BOJ/[ BOJ ] C++ 2022.02.09
반응형