기타개발자준비

코딩테스트 예상문제

유호야 2021. 3. 23. 17:08
반응형
public class No1 {

	public static void main(String[] args) {
		//안녕하세요 5번 출력
		
		//방법1
		for(int i = 0; i<5; i++) {
			System.out.println("안녕하세요");
		}
		
		//방법2
		System.out.println("안녕하세요");
		System.out.println("안녕하세요");
		System.out.println("안녕하세요");
		System.out.println("안녕하세요");
		System.out.println("안녕하세요");
	}

}

 

public class No2 {

	public static void main(String[] args) {
		//1부터 76까지 더한 값을 출력하라(for문)
		
		int sum = 0; 
		for(int i = 1; i <= 76; i++) {
			sum += i;
		}
		System.out.println(sum);
	}
}

 

public class No3 {

	public static void main(String[] args) {
		// 구구단 7단을 출력하세요.
		
		System.out.println("구구단 7단");
		for(int i = 1; i <= 9 ; i++) {
			System.out.println("7 x " + i + " = " + 7*i);
		}

	}

}

 

public class No4 {

	public static void main(String[] args) {
		//구구단 출력
		for(int i = 2; i <= 9 ; i++) {
			System.out.println(i + "단");
			for(int j = 1; j <= 9; j++ ) {
				System.out.println(i + " x " + j + " = " + i*j);
			}
		}
	}

}

 

public class No5 {
	// 구구단을 출력을 하되 6단과 7단을 제외하고 출력하자.
	public static void main(String args[]) {
		// 방법3
		for (int i = 2; i <= 9; i++) {
			if (i == 6) {
				continue;
			} else if(i == 7) {
				continue;
			} else {
				System.out.println(i + "단");
				for (int j = 1; j <= 9; j++) {
					System.out.println(i + " x " + j + " = " + i * j);
				}
			}
		}
		
		// 방법1
		for (int i = 2; i <= 9; i++) {
			if (i != 6 && i != 7) {
				System.out.println(i + "단");
				for (int j = 1; j <= 9; j++) {
					System.out.println(i + " x " + j + " = " + i * j);
				}
			}
		}

		// 방법2
		for (int i = 2; i <= 5; i++) {
			System.out.println(i + "단");
			for (int j = 1; j <= 9; j++) {
				System.out.println(i + " x " + j + " = " + i * j);
			}
		}
		for (int i = 8; i <= 9; i++) {
			System.out.println(i + "단");
			for (int j = 1; j <= 9; j++) {
				System.out.println(i + " x " + j + " = " + i * j);
			}
		}
		
	}
}

 

public class No6 {
	//836은 소수인가?
	public static void main (String args[]) {
		
		int num = 863;
		
		for(int i = 2; i < num; i++) {
			if(num % i == 0) {
				System.out.println(num + "은 소수가 아닙니다." );
				break;
			} else {
				if(i == num-1) {
					System.out.println(num + "은 소수입니다.");
				}
			}
		}
		
	}
}

 

public class No7 {

	public static void main(String[] args) {
		//2부터 100까지 소수를 구하세요.
		for(int i = 3; i <= 100; i++ ) {
			for(int j = 2; j < i; j++) {
				if(i%j == 0) {
					break;
				} else {
					if(j == i-1) {
						System.out.println(i+ "는 소수입니다.");
					}
				}
			}
		
		}
		
		 
		
	}

}

 

public class No8 {

	public static void main(String[] args) {
		// 1 + (-2) + 3 + (-4) + … 으로 계속 더했을 때 몇 까지 더해야 총 합이 100이상 되는가?

		int sum = 0;
		for (int i = 1; i <= 1000; i++) {
			if (i % 2 != 0) {
				sum += i;
				//System.out.println("짝수 계산  "+i + " " + sum);
				if(sum >= 100) {
					System.out.println(i + "까지 더해야 100이상 값이 나옴");
					break;
				}
			} else {
				sum -= i;
				//System.out.println("홀수 계산 "+i + " " + sum);
				if(sum >= 100) {
					System.out.println(i + "까지 더해야 100이상 값이 나옴");
					break;
				}
			}
		}
	}

}

 

public class No9 {

	public static void main(String[] args) {
		//1 + (1+2) + (1+2+3) + (1+2+3+4) + (1+2+3+4+5) + (1+2+3+4+5+… + 10) 의 결과는?
		
		int sum = 0; 
		int result = 0;
		for(int i=1; i<=10; i++) {
			sum += i;
			result += sum;
		}
		System.out.println("result : "+result);
	}

}

 

public class No10 {

	public static void main(String[] args) {
		/* 피보나치(Fibonnaci) 수열(數列)은 앞을 두 수를 더해서 다음 수를 만들어 나가는 수열이다. 
		예를 들어 앞의 두 수가 1과 1이라면 그 다음 수는 2가 되고 그 다음 수는 1과 2를 더해서 3이 되어서 1,1,2,3,5,8,13,21,... 과 같은 식으로 진행된다. 
		1과 1부터 시작하는 피보나치수열의 10번째 수는 무엇인지 계산하는 프로그램을 완성하시오. */
		int arrs [] = new int[10];
			arrs[0] = 1;
			arrs[1] = 1;
		for(int i = 0; i < 8; i++) {
			arrs[i+2] = arrs[i] + arrs[i+1];
		}
		
		for(int i = 0; i < 10; i++) {
			if(i != 9) {
				System.out.print(arrs[i] + ", ");
			} else {
				System.out.println(arrs[i]);
			}
		}

	}

}

​

 

public class No11 {

	public static void main(String[] args) {
		// 1 ~ 10000 사이에 8이 몇 번 들어가는가?
		
		int count = 0;
		int i;
		
		for(i = 1; i<=10000; i++) {
			int digits = (int)(Math.log10(i)+1);
			if(digits == 1) {
				if(i%8 == 0) {
					count += 1;
				}
			} else if (digits == 2) {
				//18 28 38 48 58 68 78 88 98
				if(i%10 == 8) {
					count += 1;
				}
			} else if (digits == 3) {
				if(i%100 == 8) {
					count += 1;
				}
			} else if (digits == 4) {
				if(i%1000 == 8) {
					count += 1;
				}
			}
		}
		
		System.out.println("1 ~ 10000 사이에 8은 \"" + count + "\"번 들어간다.");
	}

}

 

public class No12 {

	public static void main(String[] args) {
		// 12.	Int [] args = {2, 10, 7, 5, 1} 를 오름차순으로 다시 배열하시오
		int [] arrs = {2, 10, 7, 5, 1};
		int temp ;
		
		for(int k = 0; k < 5; k++) {
			for(int i = 0; i < 4; i++) {
				if(arrs[i]>arrs[i+1]) {
					temp = arrs[i];
					arrs[i] = arrs[i+1];
					arrs[i+1] = temp;
				}
			}
		}
		
		for(int i = 0 ; i < 5; i++) {
			System.out.print(arrs[i] + " ");
		}
	}

}

반응형