10
01

์ฝ”ํ…Œ ๊ณต๋ถ€์˜ ์‹œ์ž‘์ด๋‹ค.

 

์ฒ˜์Œ ์ œ์ถœํ•ด์„œ ํ‹€๋ฆฐ ์ฝ”๋“œ ๋จผ์ € ๋ณด์ž.

https://www.acmicpc.net/problem/2744

 

2744๋ฒˆ: ๋Œ€์†Œ๋ฌธ์ž ๋ฐ”๊พธ๊ธฐ

์˜์–ด ์†Œ๋ฌธ์ž์™€ ๋Œ€๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ๋’ค, ๋Œ€๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ, ์†Œ๋ฌธ์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ์–ด ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

www.acmicpc.net

import java.util.*;
import java.io.*;

// 32๋ฅผ ๋นผ๋ฉด ๋Œ€๋ฌธ์ž๊ฐ€ ๋œ๋‹ค. 65 = A
class Main{
    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st = new StringTokenizer(br.readLine(),"");
        while(st.hasToken()){
            char c = st.nextToken();
            if(c >= 65+32) st.append(c-32);
            else st.append(c+32);
        }
        
        System.out.println(st);
    }
}

์˜ค๋‹ต๋…ธํŠธ(ํ‘ธ๋Š” ๋™์•ˆ ์‚ฌ๊ณ ๊ณผ์ • ๋ฐ ๊ฐœ์„ ์ )

ascii์ฝ”๋“œ๋ฅผ ์ด์šฉํ–ˆ๋‹ค.

StringTokenizer์˜ delimeter๋กœ ""์„ ๋„ฃ์–ด์„œ split์ด ๋˜๋‚˜ ํ–ˆ๋Š”๋ฐ ์•ˆ๋๋‹ค. regex๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ์ž๋ฆฌ๋ผ์„œ ์•„๋งˆ ์ž‘๋™ํ•˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ์ถ”์ •๋œ๋‹ค. hasToken์œผ๋กœ ๋ฐ˜๋ณต๋ฌธ ๋ถ„๊ธฐ๋ฅผ ๋„ฃ์€ ๊ฒƒ๋„ ์ž˜๋ชป์ด๋‹ค. hasMoreTokens()๊ฐ€ ๋งž๋Š” ๋ฉ”์„œ๋“œ๋‹ค.

StringBuilder๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์„ ์–ธํ•ด๋‘๊ณ  ๋ฉ์ฒญํ•˜๊ฒŒ StringTokenizer์— append๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค. IDEํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ ค ๋ฐฑ์ค€ ์ œ์ถœ์ฐฝ์— ๊ทธ๋Œ€๋กœ ํ’€๋‹ค๋ณด๋‹ˆ ์ด๋Ÿฐ ์˜คํƒ€๋„ ์ƒ๊ธด๋‹ค.

StringBuilder์— ๋„ฃ์„ ๊ฐ’์œผ๋กœ int๊ฐ’์ด ๋“ค์–ด๊ฐ€์„œ ์ˆซ์ž๊ฐ€ string์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค. char๋กœ ๋ฌถ์–ด์„œ append ํ•ด์ค˜์•ผํ•œ๋‹ค.


์ •๋‹ต์ฝ”๋“œ

import java.io.*;

// 32๋ฅผ ๋นผ๋ฉด ๋Œ€๋ฌธ์ž๊ฐ€ ๋œ๋‹ค. 65 = A
public class Main{
    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        char[] input = br.readLine().toCharArray();

        for (char c : input) {
            if (c >= 65 + 32) sb.append(Character.toChars(c - 32));
            else sb.append(Character.toChars(c + 32));
        }

        System.out.println(sb);
    }
}

ํ–ฅ์ƒ for๋ฌธ์„ ์จ์„œ ์ฝ”ํ‹€๋ฆฐ์Šค๋Ÿฝ๊ฒŒ ๋งŒ๋“ค์–ด๋ดค๋‹ค. stringbuilder์— appendํ• ๋•Œ char๋กœ ๋ฌถ์–ด์„œ ์ฒ˜๋ฆฌํ•ด ๊ฐ’์ด ์ž˜ ์ถ”๊ฐ€๋œ๋‹ค.

 

"๋Œ“๊ธ€, ๊ณต๊ฐ ๋ฒ„ํŠผ ํ•œ ๋ฒˆ์”ฉ ๋ˆ„๋ฅด๊ณ  ๊ฐ€์ฃผ์‹œ๋ฉด ํฐ ํž˜์ด ๋ฉ๋‹ˆ๋‹ค"
๋ฐ˜์‘ํ˜•
COMMENT