반응형
문제 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 |