코딩테스트 문제

알고리즘 기초 문제

유호야 2020. 10. 18. 13:19
반응형

1~5 : 최대한 완벽하게 스스로 풀수 있게... 시간을 들여서 연습

6~10 : 응용..

 

문제 1, 2, 3, 4, 5 + 9번 해결

package algorithm_questions;

public class for01 {

	public static void main(String[] args) {
		
		//안녕하세요 5번 출력

		//방법1
		System.out.println("안녕하세요");
		System.out.println("안녕하세요");
		System.out.println("안녕하세요");
		System.out.println("안녕하세요");
		System.out.println("안녕하세요");
		
		
		System.out.println("--------");
		//방법2
		for(int i = 0; i < 5; i++) {
			System.out.println("안녕하세요");
		}
		
	}

}

 

package algorithm_questions;

public class question02 {

	public static void main(String[] args) {
		
		// for 문을 이용해서 1부터 76까지의 합을 구하는 코드를 작성하자.
		
		int sum = 0;
		for(int i = 1; i <= 76; i++) {
			sum += i;
		}
		System.out.println("1부터 76까지의 합은 " + sum + "입니다.");
		



	}

}

 

package algorithm_questions;

public class question03 {
	
	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);
		}


	}
	
}

 

package algorithm_questions;

public class question04 {

	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);
			}
			
			System.out.println();
		}
		
	}

}

05-방법1

package algorithm_questions;

public class question05 {

	public static void main(String[] args) {
		// 구구단을 출력을 하되 7단과 6단을 제외하고 출력하자.
		
		
		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);
			}
			
			System.out.println();
		}
		
		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);
			}
			
			System.out.println();
		}


	}

}

05-방법2

for(var i = 2; i <= 9; i++){
        if(i == 6 | i ==7 ){
            break;
        } else {
            console.log( "**" + i + "단" + "**" );
            for(var j = 1; j <= 9; j++){
                console.log(i + ' x ' + j + ' = ' + i*j)
            }
            
        }
    }

 

package algorithm_questions;

public class question09 {

	public static void main(String[] args) {
		// 1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+10)의 결과를 계산하시오.
		
		
		//방법1
		int sum = 0;
		int addSum = 0;
		
		for(int i = 1; i <= 10; i++) {
			sum += i;
			addSum += sum;
		}
		System.out.println(addSum);		
		
		
		//방법2
		//숫자 1은 10번씩 더하고 2는 9번씩
		//... 숫자 10은 한 번
		
		int i = 0;
		int j = 10;
		int add = 0;
		int sumAdd = 0;
		
		for(i = 1; i <= 10; i++) {
			
			add = i*j;
			j--;

			sumAdd += add;

		}
		System.out.println(sumAdd);
		
	}

}

 

미해결 문제 6, 7, 8, 10, 11

6. 867은 소수인가? (js)

   
    //6. 863은 소수인가?
    var isPrime = false;
    var value = 767;
    console.log(value + "은 소수인가?")
    for(var x = 2; x < value; x++){
        if(value%x == 0){
            isPrime = false;
            break;
        }
    }
    if(isPrime == true) {
        console.log(value + "은 소수입니다.");
    } else {
        console.log(value + "은 소수가 아닙니다.");
    }
    
</script>

 

7. 1에서 100까지의 소수를 구해보자

package algorithm_questions;

public class question07_ {

	public static void main(String[] args) {
		// 1에서 100까지의 소수를 구해보자
		
		System.out.println("1에서 100까지 소수 구하기");
		//3이라는 숫자가 자기 자신이 아닌 4부터 100까지의 수로 나누었을 때
		//한번이라도 나누어지면 소수이다.
		//떨어지는 수가 없을 때
		
		for(int i = 3; i <= 100; i++) {
			for(int j = 3; j <= 100; j++) {
				if(i != j) {
					if(i % j == 0) {
						System.out.println(i + "은 소수가 아닙니다.");
						
					}
				}
			}
		}

	}

}

js

 for(var value = 2; value <= 100; value++) {
            var isPrime = true;

            for(var x = 2; x <= Math.sqrt(value); x++){
                if(value%x == 0){
                    isPrime = false;
                    break;
                }
            }
            if(isPrime == true) {
            console.log(value + "는 소수입니다.") 
        } 

        }

8.  1+(-2)+3+(-4)+... 과 같은 식으로 계속 더해나갔을 때, 몇까지 더해야 총합이 100이상이 되는지 구하시오.

package algorithm_questions;

public class question08_ {

	public static void main(String[] args) {
		// 1+(-2)+3+(-4)+... 과 같은 식으로 계속 더해나갔을 때, 몇까지 더해야 총합이 100이상이 되는지 구하시오.



	}

}

 

9. js

var sum = 0;
      for(var x = 1; x <= 10; x++) {
          for(var y = 1; y <= x; y++) {
            sum +=y;
          }
      }
      console.log("수열의 합 : " + sum)

 

10. 피보나치(Fibonnaci) 수열(數列)은 앞을 두 수를 더해서 
// 다음 수를 만들어 나가는 수열이다. 
// 예를 들어 앞의 두 수가 1과 1이라면 그 다음 수는 2가 되고 
// 그 다음 수는 1과 2를 더해서 3이 되어서 
// 1,1,2,3,5,8,13,21,... 과 같은 식으로 진행된다. 
// 1과 1부터 시작하는 피보나치수열의 10번째 수는 무엇인지 
// 계산하는 프로그램을 완성하시오.

package algorithm_questions;

public class question10_ {

	public static void main(String[] args) {
//		10. 피보나치(Fibonnaci) 수열(數列)은 앞을 두 수를 더해서 
//		다음 수를 만들어 나가는 수열이다. 
//		예를 들어 앞의 두 수가 1과 1이라면 그 다음 수는 2가 되고 
//		그 다음 수는 1과 2를 더해서 3이 되어서 
//		1,1,2,3,5,8,13,21,... 과 같은 식으로 진행된다. 
//		1과 1부터 시작하는 피보나치수열의 10번째 수는 무엇인지 
//		계산하는 프로그램을 완성하시오.

		//1, 1, 2, 
		
		int a = 1;
		int b = 1;
		int sum = a + b;
		
		for(int i = 0; i <= 10; i++) {
			
		}
		
		
		
	}

}

 

11. 1부터 10000까지 8이 몇 번 나오는가?

package algorithm_questions;

public class question11_ {

	public static void main(String[] args) {
		// 11. 1~10000사이에 8이 몇번 나오는가?
		
		for(int i = 1; i < 10000; i++) {
			
		}


	}

}
반응형