다르게 코딩했는데, 특정 부분 오류의 이유를 모르겠어 질문드립니다.
240
작성한 질문수 17
안녕하세요 교수님!
강의 보면서 정말 도움 많이 받고 있습니다.
다름이 아니라, 이 문제를 for문, while문을 써서 풀려고 하다가 막혀서 질문드립니다.
제 코드는,
//가장 많이 사용된 숫자의 개수
#include<iostream>
using namespace std;
int main()
{
int a;
int arr[10];
cin >> a;
int k=a;
while (k >= 1)
{
for (int i = 0; i < 10; i++)
{
if (i = k % 10)
arr[i]++;
}
k = k / 10;
}
for (int i = 0; i < 10; i++)
{
cout << arr[i] << " ";
}
return 0;
}
이렇게 해서 일단 arr의 배열에 잘 들어갔는지 확인 하려고 했는데, 출력 값이 안나옵니다.
일단 while loop를 빠져나오지 못하는 것으로 판단되는데, 왜 저기를 빠져나오지 못하는지 모르겠어서 질문 드립니다.
감사합니다!
답변 1
1
교수님과 상관없이 지나가던 학생인데요...
우연히 보게되어, 아는 내용이 있어 지식 공유하고자 글 남겨봅니다...
if (i = k % 10)
arr[i]++;
여기부분에서 i==k%10 이 아니라 대입연산자 = 를 사용하셔서 무한루프 도는것 같네요.
그런데 = 를 ==로 고친 아래 코드도 굳이 for문을 사용하지않아도 될것 같아요
(물론 답을 도출하는데 있어서 문제는 없음 )
for (int i = 0; i < 10; i++)
{
if (i == k % 10)
arr[i]++;
}
arr[k%10]++; 이렇게 하는것이 훨씬 효율적으로 보입니다.
테스트 케이스 질문
0
374
1
병합정렬 시간복잡도 질문
0
464
1
41.연속된 자연수의 합 문제풀이에서 수학적인 원리를 모르고 있습니다.
0
1351
2
질문드립니다.
0
378
1
질문드립니다!
0
432
1
dev 프로그램 질문
0
275
1
문제가 이해가 안되요
0
376
1
4번 나이차이 문제 접근법 질문 드립니다.
0
307
1
source file not compiled
0
1050
3
59번 질문드립니다.
0
373
1
25번 문제 질문
0
349
1
4. 나이차이 문제 질문입니다.
0
374
1
90번 라이언 킹 심바 1번 테스트 케이스
0
470
1
71번 문제 전역 변수 질문 있습니다
0
365
1
75번, 79번 priority_queue관련
1
356
1
75.최대 수입 스케줄
0
401
2
복면산 정답의 수
0
432
1
테스트 케이스에 대해서
0
447
1
수업 내용 질문입니다!
1
233
1
풀어보면 좋은 문제 목록 - 2580 스토쿠 DFS 질문입니다!!
0
825
2
12. 플로이드-와샬(그래프 최단거리) . 27:25초
0
255
1
다른 풀이 방식
0
317
1
크루스칼 vs 프림
0
309
1
숫자 총개수 small 질문있습니다.
0
243
1





