반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. 순열

1) 순열의 정의

- 서로 다른 n개의 원소에서 개를 중복없이 골라 순서에 상관있게 나열하는 것

- n개에서 r개를 선택하는 것

- 순열은 nPr로 표현 -> n! * (n-1)! * (n-2)! ... r의 갯수만큼 이런 식으로 계산한다 

 

2) 순열의 예

- 1부터 5까지의 수가 적힌 카드에서 세자리 숫자를 만드는 방법의 경우의 수 구하기.

i) 백의 자리에 올 수 있는 숫자 : 5개

ii) 십의 자리에 올 수 있는 숫자 : 4개

iii) 일의 자리에 올 수 있는 숫자 ; 3개

 

 

2. 자바(Java) for문을 이용한 기본 순열(Permutation)

- 중복 순열이 아닌 중복을 허용하지 않는 기본 순열이다.

- for 반복문 하나는 뽑는 것을 의미한다.

- 그래서 1부터 3까지 총 3개의 숫자를 가지고 3개의 순열을 만든다.

- 첫 번째 반복문은 첫 번째 자리, 두 번째 반복문은 두 번째 자리, 세 번째 반복문은 세 번째 자리를 의미한다.

- if문은 중복 체크를 하는 것인데, 첫 번째 자리의 수랑 두 번째 자리의 수가 중복이 아니라면,

- 2번째 if문은 두 번째 자리의 수랑 세 번째 자리의 수, 첫 번째 자리의 수랑 세 번째 자리의 수의 중복 체크를 한다.

import java.util.*;

public class Main {
	public static void main(String[] args) {
 
		for(int i=1;i<4;i++) {
			for(int j=1;j<4;j++) {
				if(j!=i) {
					for(int k=1;k<4;k++) {
						if(k!=i && k!=j) {
							System.out.printf("%d %d %d",i,j,k);
							System.out.println();
						}
					}
				}
			}
		}
	}
}

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기