ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [알고리즘 문제] 백준 알고리즘 13163번 : 닉네임에 갓 붙이기
    IT/알고리즘 2019. 3. 25. 10:37






    백준 알고리즘에서 재미있는 문제를 찾았다 ㅇvㅇ


    프로그램에서 먼저 공백을 찾고 그 공백전 문자들을 모두 god으로 바꾼뒤에 나머지 공백들을 없애주는식으로 프로그램을 짜면되겠다라는 생각을 했다.


    이 문제에서 replace메소드를 이용했는데 replace는 원하는문자를 바꿔주는 기능을 한다.


    replace(a , b) -> a를 b로 바꿔라

    replaceAll(a, b) -> 해당 문자열에서 모든 a를 b로 바꿔라




    소스 코드 ↓↓↓


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    package com.coding.test02;
     
    import java.util.Scanner;
     
    public class nicknameGod {
        
        public static void main(String[] args) {
            
            Scanner scan = new Scanner(System.in);
            
            int num = scan.nextInt(); // 닉네임 개수
            
            String[] name = new String[num];
            
            scan.nextLine(); //공백을 입력으로 인식하지 않기 위해 사용
            
            for(int i=0; i<num; i++){        
                name[i] = scan.nextLine();    //닉네임 입력
            }
            
            String temp = "";    //첫음절을 저장할 변수
            
            for(int i=0; i<num; i++){    //닉네임 하나씩 읽으면서
                for(int j=0; j<name[i].length(); j++){
                    if(name[i].charAt(j) == ' '){     //닉네임에 공백이 나오면
                        int x = j;    
                        j = 0;
                        for(int l=j; l<x; l++){
                            temp += name[i].charAt(l);    //공백 전 문자들을 저장
                        }
     
                        name[i] = name[i].replace(temp,"god");    //공백전 문자들을 god으로 바꿈
                        name[i] = name[i].replaceAll(" """);    //나머지 공백 없애기
                        
                        temp = "";    //다음 닉네임을 위해 temp 초기화
                        
                        break;
                    }            
                }
            }
            
            //출력
            for(int i=0; i<num; i++){
                System.out.println(name[i]);
            }
            
        }
        
        
    }
     
    cs




    실행결과 ↓↓↓




    내장함수 활용을 잘 한다면 어렵지 않게 풀 수 있는 문제인 것 같다!

    열심히 해서 코딩신이 되보도록 해보자 ㅎ

    댓글

Designed by Tistory.