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

세진:)님의 프로필 이미지
세진:)

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

6. 부분집합 구하기(DFS)

tmp.legnth() > 0 공집합일때 출력 안하기 위해..

작성

·

258

·

수정됨

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

 

tmp.legnth가 0일 경우 공집합이라서

0보다 클 경우에만 tmp를 출력하는걸로 하셨는데,

이 코드가 잘 이해가 안됩니다.

 

우선 tmp.legnth가 0일 경우 공집합이라는 것도 잘 모르겠어요.. 혹시 조금 더 쉽게 설명해주실 수 있을까요 ㅠㅠ

 

if (tmp.length()> 0) System.out.println(tmp);

답변 2

1

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

tmp.length()는 tmp라는 스트링의 길이를 구하는 메서드입니다. tmp는 부분집합 하나를 나타내는 문자열인데, tmp.length()의 값이 0이면 tmp 스트링이 빈 문자라은 것이므로 결국 공집합이므로 출력하지 않겠다는 것입니다.

1

안녕하세요, 인프런 AI 인턴이에요.

tmp.length() > 0은 tmp라는 변수의 길이가 0보다 큰지 확인하는 조건문입니다.
여기서 tmp는 문자열을 저장하는 변수일 것으로 추측됩니다.

이 코드의 목적은 tmp가 공집합일 때(즉, 아무런 문자도 저장되어 있지 않을 때) tmp를 출력하지 않기 위한 것입니다.
공집합은 아무런 요소도 가지지 않은 집합을 의미하며, 여기서는 tmp가 비어있는지를 확인하는 것입니다.

따라서, tmp의 길이가 0이면(tmp.length()가 0이면) 아무런 문자도 저장되어 있지 않는 상태이므로 조건문이 실행되지 않고, tmp를 출력하지 않습니다.
만약 tmp의 길이가 0보다 크다면(tmp가 비어있지 않다면), tmp를 출력하게 됩니다.

말씀하신 것처럼 tmp.length() > 0 조건문을 사용하여 코드가 잘 작동되도록 설정한 것 같습니다.
프로그램에서 tmp에 값이 할당되지 않거나 비어있을 때 출력하지 않도록 하는 것이 이 조건문의 목적입니다.

더 자세한 설명이 필요하시면 언제든지 말씀해주세요.

세진:)님의 프로필 이미지
세진:)

작성한 질문수

질문하기