반응형

백준 49

[ C++ ] #5397 ( 키로커 )

문제는 그렇게 어렵다고 생각하지 않았지만 리스트를 정의하지 않고 선언한 뒤 리스트의 처음을 가르키는 iterator를 생성하면 어디를 가르킬까?에 대한 의문때문에 내가 답을 납득하는데에 시간이 걸렸다. 결론은 null을 가르킨다는 것이었다. 나는 list L; 이렇게 선언을 했지만 답을 보니 list L={ }; 로 선언을 했다. 나처럼 해도 오답은 아니지만 답 코드를 보니 null이 들어있는 한칸이 만들어지는 것이 아닐까? 하는 발상이 떠올랐다. 그렇게 계산해보고 예제를 넣고 풀어보니 논리가 맞았다. 앞으로 그렇게 생각해야지... #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(nullptr); int fre; ci..

BOJ/[ BOJ ] C++ 2022.02.27

[ C++ ] #3273 ( 두 수의 합 )

한번 동적할당을 하고 이중 포문을 이용해서 코드를 짰는데 시간초과가 났다.. 그래서 두번 공적할당을 하고 합을 구하는 과정에서 시간복잡도를 줄였다.. #include #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(nullptr); int num ; int* arr; cin >> num; arr = new int[num]; for (int i = 0; i > arr[i]; int sum=10,fre=0; cin >> sum; int* N = new int[sum+1]; for (int i = 0; i < sum+1; i++) N[i] = 0; for (int i = 0; i < num; ..

BOJ/[ BOJ ] C++ 2022.02.21

[ 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
반응형