inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

4. 중복순열(채점지원안됨)

코드 질문입니다.

298

simononze

작성한 질문수 6

0

중복순열문제 질문이 있습니다.
저는 중복수열 문제를 BFS 로 풀었습니다. 혹시 이렇게 풀면 문제가 될까요??
채점 기능이 없어 질문과 코드 올립니다.
감사합니다. 좋은 하루 되십시오.
public class Main {
	
	static int n;
	static int m;
	static Queue<String> Q;
	
	public void BFS(String str) {
		Q = new LinkedList<>();
		Q.offer(str);
		int L = 0;
		
		while(!Q.isEmpty()) {
			int len = Q.size();
			for(int i=0; i<len; i++) {
				String tmp = Q.poll();
				for(int j=1; j<=n; j++) {
					if(tmp == "0") Q.offer(String.valueOf(j));
					else Q.offer(tmp+" "+String.valueOf(j));
				}
			}
			L++;
			if(L==m) return;
		}
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		n = kb.nextInt();
		m = kb.nextInt();
		
		T.BFS("0");
		for(String x:Q) {
			System.out.println(x);
		}
	}
}

java 코테 준비 같이 해요!

답변 1

0

김태원

안녕하세요^^

중복순열을 DFS로 하는 것은 차우에 있을 순열을 배우기 위한 사전작업의 성격입니다. 그리고 어떤 경우의 수들을 따질때는 DFS를 사용하시고, 최단거리, 최소거리를 구할 때는 BFS라는 사실을 염두에 두고 알고리즘 공부를 하면 나중 코딩테스트 실전문제에 도움이 될 겁니다.

안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.

0

71

2

갑자기 채점 사이트가 바뀌었어요

0

50

1

문제 리스트 페이지

0

43

1

채점 사이트 관련 질문드립니다

0

42

1

봉우리 문제 질문입니다

0

102

2

씨름 선수 문제에서 각 선수의 몸무게나 키가 같을 수도 있다면?

0

73

0

이 코드랑 영상 코드중에 뭐가 더 좋은 코드인가요?

0

78

0

가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법

0

76

1

좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ

0

94

2

6-7 강의에서

0

53

1

6-6. 장난꾸러기 질문 있습니다.

0

50

1

강의 수강후 코딩테스트

0

126

1

answer 변수 사용 여부

0

50

1

2중 for문

1

96

2

2-11. 임시반장정하기 (Runtime Error)

0

67

1

혹시 LinkedList 같은 자료 구조들은 따로 배우지 않나요?

0

75

1

이런 풀이는 어떨까요

0

50

1

자바 스트림 방식의 효율성 질문 드립니다.

0

62

1

알고리즘 자료 구조들..

0

68

1

StringBuilder vs BufferdWriter

0

53

1

원더랜드(프림)

0

55

1

이런 코드는 어떤가요?

0

66

1

bfs 풀이

0

62

1

병합정렬

0

58

1