✅문제

 

반복문을 사용하여 아래 모양을 출력하시오.

 

✅문제 해설

  • for문을 사용하여 해결한다.
  • 별찍기 버전 1을 잘 생각하고 역순으로 생각해본다!

https://beastit.tistory.com/49

 

[JAVA] ✏️ 별찍기 버전 1 ! ⭐️

✅문제 반복문을 사용하여 아래 모양을 출력하시오. ✅문제 해결 for문을 사용하여 해결한다. 팩토리얼 개념을 생각하면 편하다! 이중 for문의 구조를 잘 파악하고, 두번째 for문을 (집중?)해서 본

beastit.tistory.com

 

public static void main(String[] args) {
	
		//5줄이니까 i를 5번 반복한다.
		for (int i = 0; i < 5; i++) {

			// i=0일때 "j < (5-i)"-> "*****" 출력.
 			for (int j = 0; j < (5-i) ; j++) {
 				System.out.print("*");

 			}
 			System.out.println();

	}

}

 

✅결과

✅문제

반복문을 사용하여 아래 모양을 출력하시오.

✅문제 해결

  • for문을 사용하여 해결한다.
  • 팩토리얼 개념을 생각하면 편하다!
  • 이중 for문의 구조를 잘 파악하고, 두번째 for문을 (집중?)해서 본다.

https://beastit.tistory.com/46

 

[JAVA] ✏️ 1! + 2! + 3! + 4! + 5!의 결과를 구하기. [팩토리얼]

✅문제 1! + 2! + 3! + 4! + 5!의 결과를 구하세요. ✅문제 해설 각 팩토리얼을 반복문(for문)으로 값을 구한다. sum이라는 변수에 각 팩토리얼 값을 누적하여 총 합을 구한다. 혼자서 🔨뚝딱거리다가

beastit.tistory.com

 


 

public static void main(String[] args) {
	
		//5줄이니까 i를 5번 반복한다.
		for (int i = 0; i < 5; i++) {
			
			//i=0일때 "j < (i+1)" -> "*" 한개 출력 
 			for (int j = 0; j < (i+1); j++) {
 				
 				System.out.print("*");
 				
 			}
 			System.out.println();

	}

}

✅결과

 

✅문제


 

✅문제 해설

  • 정수를 그냥 +(더하기) 하게되면 정수의 합 나오게 되므로 문자열로 바꿔서 합쳐주기
  • 예)  1 + 2 = 3 -> " 1 " + " 2 " = " 12 "
class Solution {
    public int solution(int a, int b) {
        	int answer = 0;
		
		//정수를 받아와서 문자열로 변환.
		String aa=String.valueOf(a);
		String bb=String.valueOf(b);
		
		//문자열로 변환된 정수를 하나로 합쳐준.
		String ab=""+aa+bb;
		String ba=""+bb+aa;
		
		//문자열로 합쳐진 숫자를 정수화해주는 작업.
		int ab1=Integer.valueOf(ab);
		int ba1=Integer.valueOf(ba);
		
		//조건 연산 
		if(ab1>ba1)
			answer =ab1;
		else {
			answer =ba1;
		}
		//a+b와 b+a가 같으면 a+b 출력
		if(ab1==ba1)
			answer =ab1;
		
		return answer;
    }
}

✅결과

입력 값 

a= 9

b =91

 


🍯팁 메모 ✏️

// ---정수를 문자열로 변환 & 문자열을 더블로 변환.
		int n1 = 10;
		String s1 = String.valueOf(n1);

		String s2 = "30.2";
		double n2 = Double.parseDouble(s2);

✅문제

//✏️ 주어진 3개의 변수를 이용하여 다음과 같은 결과를 출력하세요. (출력 숫자는 10개입니다.)
//주어진 변수 -> int x =1, int y=0, int z=0
//결과 값 -> 1 1 2 3 5 8 13 21 34 55

 

✅문제 해설


 

  • 위에 숫자를 보니 앞에 2개의 숫자를 더한 값이 뒤에 위치하는 것을 볼 수 있다.
  • 초기에 숫자 1을 먼저 출력해 준다
  • x, y, z 3가지 변수를 저글링 하는 느낌으로 값을 돌려준다!

처음 풀 때는 이 규칙이 피보나치수열인 줄 몰랐음....😅

 

package 방과후연습용.Jin;

public class FibonacciSequence {

	public static void main(String[] args) {
//✏️ (심화) 주어진 3개의 변수를 이용하여 다음과 같은 결과를 출력하세요. (출력 숫자는 10개입니다.)
//주어진 변수 -> int x =1, int y=0, int z=0
//결과 값 -> 1 1 2 3 5 8 13 21 34 55		
		
		int x=1;
		int y=0;
		int z=0;
		
			System.out.println(x);
			
		for(int i=0;i<3;i++) {
			z=x+y;//z에 x(1)+y(0)값을 넣어준다. 결과 : 1
			System.out.println(z);
			y=z+x;//y에 z(1)+x(1) 넣어준다. 결과 : 2
			System.out.println(y);
			x=y+z;//x에 z(1)+y(2) 넣어준다. 결과 : 3
			System.out.println(x);
		}
		
	}

}

 

✅결과

 

✅문제

1! + 2! + 3! + 4! + 5!의 결과를 구하세요.

 

✅문제 해설

  • 각 팩토리얼을 반복문(for문)으로 값을 구한다.
  • sum이라는 변수에 각 팩토리얼 값을 누적하여 총 합을 구한다.

혼자서 🔨뚝딱거리다가 어떻게 결과가 도출되었다....

 

하지만...! 머릿속으로 도저히 그려지지가 않아서 손으로 적으면서

 

로직을 그려보니 이해 완료! 💡

 


public class Factorial {
	public static void main(String[] args) {

		//각 i에 다른 팩토리얼이 저장되는 
		// ex) i = 2 -> 2!
		int temp = 1;

		// 각 팩토리얼이 더해지는 값
		int sum = 0;

		for (int i = 1; i <= 5; i++) {
			temp = temp * i;
			sum = sum + temp;
		}
		//각 팩토리얼의 총 
		System.out.println(sum);
	}
}

for문으로 각 숫자에 맞는 팩토리얼 값을 구하고 sum이라는 변수에 계속 누적하는 방식이다.

 

각 과정을 풀어서 써보면 아래와 같다.


 

 

 

 

✅결과

 

✅문제

// 66 을 소인수분해하시오. 
// 결과 : 2,3,11

 

✅문제 해설

더보기

소인수분해란? 

  • 합성수를 소수들의 곱으로 나타내는 것을 말한다.
  • 예시)  2 x 3 x 11 = 66 <- 여기서 66은 합성수를 의미함.

소수란?

  • 약수가 1과 자기 자신뿐인 자연수
  • 예) 2, 3, 5, 7, 11, 13, 17, 19, 23, 31...........
  • 1 은 소수가 아니다!
public static void main(String[] args) {
int primeFactorization = 66; //초기값 66을 저장.

// 1은 소수가 아니므로 i의 기준을 2로 잡음.
for (int i = 2; i <= primeFactorization; i++) {

	// 66을 i(2)로 나누면 나머지 0, true값이니 while문 실행
	while ((primeFactorization % i) == 0) {
    
		// 2는 소수이면서 합성수 66을 구성하는 소수이므로 2출력
		System.out.println(i);
        
		//66을 2로 나눠준 값 33을 primeFactorization에 저장.
		primeFactorization = primeFactorization / i;
	}

}
}

 

✅결과

 

 

✅ 후기

 

💣 저어어어엉말 너무 어려웠음 💣

+ Recent posts