본문 바로가기
IT/JAVA

JAVA - 반복문 문제풀이

by 삐약 개발자 2024. 11. 22.
반응형

문제 04 ) RepeatString - 문자열 반복

public String repeatString(String str, int num) {
        // TODO:
        String result = "";
        if(str.isEmpty() || num == 0) {
            return "";
        }

        for(int i = 0; i < num; i++) {
            result = result + str;
        }

        return result;
    }

 

1. 현재 들어온 문자열이 공백인지 확인 - str.isEmpty() >> Boolean 타입으로 반환

2. 한줄로 반복하는 방법 - str.repeat(int)

 

문제 06 ) makeDigits2

입출력 예시

String output = makeDigits2(5);
System.out.println(output); // --> "1-2-3-4-5"

output = makeDigits2(7);
System.out.println(output); // --> "1-2-3-4-5-6-7"

 

for문을 활용했을때 / 반환할때 마지막 문자열 추가 하는 방식

public String makeDigits2(int num) {
        // TODO:
        String result = "";

        for(int i = 1; i < num; i++){
            result += i + "-";
        }

        return result + num;
    }

 

while 문을 활용했을떄 / 마지막 문자열 자르는 방식

 public String makeDigits2(int num) {
        // TODO:
        String result = "";
        
        int count = 1;
        while(count <= num){
            result += count + "-";
            count++;
        }

        return result.substring(0, result.length() - 1);
      }

 

1. subString() - 문자열 자르기

 

문제 07 ) makeOddDigits

while문 활용

  public String makeOddDigits(int num) {
        String result = "";

        int count = 0;
        int i = 1;
        while (count < num) {
            result = result + i;
            i = i + 2;
            count++;
        }

        return result;
    }

 

for 문 활용

 public String makeOddDigits(int num) {
        String result = "";

       // 수식 찾았을때 수열 2n -1 로 가능
        for(int i = 0; i <=num; i++){
        	result += count * 2 - 1;
        }

        return result;
    }

 

문제 08 ) makeMultiplesOfDigit

    public static String makeMultiplesOfDigit(int num) {
        // TODO:
//        String result = "";
//        if(num < 3){
//            return "";
//        }
//        for(int i = 3; i <= num; i += 3){
//            result += i;
//        }
//
//        return result;
        StringBuilder concatString = new StringBuilder();
        for (int i =0; i <=num; i +=3){
            if(i % 3 ==0){
                concatString.append(i);
            }
        }
        return  concatString.toString();
    }

    public static void main(String[] args) {
        System.out.println(makeMultiplesOfDigit(10000));
    }

1.

 

 

문제 09 ) makeMultiplesOfDigit2

public int makeMultiplesOfDigit2(int num1, int num2) {
        // TODO:
        int count = 0;
        if(num1 < num2){
            for (int i = num1; i <=num2; i++){
                if(i % 2 == 0 && i != 0){
                    count++;
                }
            }
        }else{
            for (int i = num2; i <=num1; i++){
                if(i % 2 == 0 && i != 0){
                    count++;
                }
            }
        }

        return count;

    }

 

두개 모두 반복문 돌리기 보다 아예 값을 바꿔주는 방법

public int makeMultiplesOfDigit2(int num1, int num2) {
    int count = 0;
    int big = num1;
    int small = num2;

    if (num1 > num2) {
        big = num2;
        small = num1;
    }

    if (big == 0) {
        big = 1;
    }

    for (int i = big; i <= small; i++) {
        if (i % 2 == 0) {
            count += 1;
        }
    }

    return count;

}

 

문제 12 ) getMaxNumberFromString

 

public int getMaxNumberFromString(String str) {
    // TODO:
    int maxNum = 0;

    for (int i = 0; i < str.length(); i++) {
        char character = str.charAt(i);
        int num = Character.getNumericValue(character);

        if (num > maxNum) {
            maxNum = num;
        }
    }

    return maxNum;
}

 

1. 문자 char 를 숫자로 변환하고 싶을때

int num = Character.getNumbericValue(character);

 

문제 17 ) isPrime

public boolean isPrime(int num) {
    // TODO:
    if(num == 1) return false;
    for (int i = 2; i <= Math.sqrt(num); i++){
        if(num % i == 0){
            return false;
        }
    }
    return true;
}

 

if(num == 1) return false;
if(num == 2) return true;
if(num % 2 == 0) return false;
for (int i = 3; i < num; i++){
    if(num % i == 0){
        return false;
    }
}
return true;

 

 

 

반응형

'IT > JAVA' 카테고리의 다른 글

JAVA - OOP , 클래스와 객체  (1) 2024.11.26
Java - 배열  (0) 2024.11.22
Java - 형변환 정리  (0) 2024.11.21
JAVA - break  (0) 2024.11.21
JAVA - 연산자  (1) 2024.11.20