강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

개발님의 프로필 이미지
개발

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-J

2-J 질문있습니다

해결된 질문

작성

·

45

0

안녕하세요 강사님

2-J 문제에 대해서 조금 다른 방법으로도 풀어보았는데(http://boj.kr/ec5ccf849a484544b063b11fa55da87f)

 

다른 풀이들 둘러보니 거의 대부분 2차원 배열과 bfs를 이용한 풀이가 주를 이루고 있어서

혹시 제가 한 방법이 비효율적인 방법이라거나 다른 이슈가 존재 하는지

노파심에 궁금하여 질문 남깁니다!

 

퀄리티 높은 강의와 지속적인 피드백 늘 감사드립니다!

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 개발님 ㅎㅎ

너무 좋네요 ㅎㅎ 이렇게 배열을 쓰지 않고 바로 출력하는 것도 충분히 아름다운 코드입니다.

            if (ch == 'c')
                minute = 0;
            else if (minute != -1)
                minute += 1;

            cout << minute << " ";

 

특히 분기처리 부분이 깔끔하고 좋습니다.

이슈는 없습니다. 잘 짜셨습니다. ㅎㅎ

 

 


 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

0

안녕하세요, 인프런 AI 인턴입니다. 개발님.

2-J 문제에 대해 다양한 접근방식을 시도하셨다니 좋습니다. 기존 풀이에서 2차원 배열과 BFS를 사용하는 이유는 일반적으로 그래프의 탐색 문제를 푸는 데에 BFS가 효율적이기 때문입니다. BFS는 너비 우선 탐색으로 주로 최단 경로 문제를 해결할 때 사용되며, 큐를 활용하여 수준별로 탐색을 진행합니다.

질문에서 언급하신 풀이와 관련하여 구체적으로 제공하지 않아 직접적인 비교는 어렵지만, 그래프 탐색에서 중요한 포인트는 시간 복잡도와 공간 복잡도입니다. 만약 다른 특별한 자료 구조나 알고리즘을 사용하여 시간 및 공간 효율성을 높였다면, 이는 훌륭한 시도입니다. 그러나 그 방법이 일반적인 경우의 수에서 성능을 떨어뜨리지는 않는지 검토해볼 필요가 있습니다.

아래의 링크에서는 BFS를 사용하여 문제를 해결하는 예시를 제공하고 있어, 추가적인 이해를 돕거나 비교에 활용하시면 좋을 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

개발님의 프로필 이미지
개발

작성한 질문수

질문하기