해결된 질문
작성
·
75
0
안녕하세요 큰돌님 문제를 풀고나서 정답을 맞추고 강의를 듣고 있습니다.
근데 강의와 제 코드가 거의 두배 이상 차이가 나기도 하고 배열도 너무 많이 설정해서 괜히 메모리를 잡아먹나 싶습니다.
이정도면 하드 코딩인가요..? 아직은 코딩사고력이 부족하기도 하고 자신감도 없어서 배열을 하나로 설정해서 숫자를 올리는 방식을 사용하기엔 예상못한 오류가 발생할까봐 확실하게 여러개의 배열을 설정했는데 시간도 오래걸리고 반복 구문도 많은것 같아서 질문드립니다.
또한 코드를 짧고 간단하게 풀고 싶은데 문제를 많이 푸는것만이 정답인지도 궁금합니다!
답변 2
0
안녕하세요 재욱님 ㅎㅎ
내가 품 -> 더 나은 답안은 없는가 검토 -> 반복
하는 과정이 필요합니다.
예를 들어
do{
cin >> a >> b >> c; //대수당 요금
}while(c < 1 || a > 100 || c > b || b > a);
//트럭별 도착,출발 시간
do{
cin >> arrive >> leave;
}while(arrive < 1 || leave > 100 || arrive > leave );
for(int i = arrive; arrive < leave; arrive++){
truck1.at(arrive) = 1;
}
do{
cin >> arrive >> leave;
}while(arrive < 1 || leave > 100 || arrive > leave );
for(int i = arrive; arrive < leave; arrive++){
truck2.at(arrive) = 1;
}
do{
cin >> arrive >> leave;
}while(arrive < 1 || leave > 100 || arrive > leave );
for(int i = arrive; arrive < leave; arrive++){
truck3.at(arrive) = 1;
}
앞이 코드는 사실 2중for문을 쓰면 더 줄일 수 있겠죠?
이러한 부분부터 시작해서 개선해나가면 됩니다.
이정도면 하드 코딩인가요..? 아직은 코딩사고력이 부족하기도 하고 자신감도 없어서 배열을 하나로 설정해서 숫자를 올리는 방식을 사용하기엔 예상못한 오류가 발생할까봐 확실하게 여러개의 배열을 설정했는데 시간도 오래걸리고 반복 구문도 많은것 같아서 질문드립니다.
-> 하드코딩은 맞으나 잘하셨습니다. 하드코딩이 아니라 못푸는게 더 안좋은거지 하드코딩으로 풀었다는 것자체는 너무 좋습니다. 개선해 나가시면 됩니다. 잘하셨습니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다. 양재욱님.
코드의 간결함과 효율성을 높이고자 하는 고민은 많은 개발자들이 안고 있는 과제입니다. 현재 양재욱님께서 직면하고 있는 문제는 여러 배열의 사용과 하드 코딩에서 비롯된 복잡성인 것 같습니다. 코드의 크기를 줄이고 효율성을 높이기 위해 여러 가지 방법을 고려해 볼 수 있습니다.
알고리즘 최적화: 문제의 해결을 위한 보다 효율적인 알고리즘을 찾아보세요. 이를 통해 불필요한 반복과 계산을 줄일 수 있습니다.
배열 사용 최소화: 배열의 사용을 최소화하고 필요한 최소한의 데이터 구조를 사용하여 메모리 효율을 높일 수 있습니다. 모든 데이터를 관리하는 데 추가 배열이 필요하지는 않은지 검토해 보세요.
코드 가독성: 복잡한 코드를 간략화하고 함수 등을 활용하여 반복되는 패턴을 추출할 경우, 코드의 읽기 쉬움도 높아질 것입니다.
코딩 사고력 향상: 문제를 많이 풀어보는 것은 문제 해결 능력을 높이는 방법 중 하나입니다. 다양한 유형의 문제를 풀어보면서 각 문제 유형에 적합한 해결 접근 방식을 체득할 수 있습니다.
관련하여 큰돌님의 다른 비슷한 질문과 답변을 확인하실 수 있는 링크를 첨부해 드립니다. 이 게시물에서는 알고리즘 접근 방식에 대한 다른 학습자의 질문과 지식공유자의 답변을 통해 더욱 풍부한 인사이트를 얻으실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.