ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [백준] 문자열 9086번 c++, java, python
    Coding Test/BaekJoon 2023. 8. 29. 14:30
    728x90

    문제 설명

    문제 바로가기

    문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오.

     

    입출력 예

    입력

    3
    ACDKJFOWIEGHE
    O
    AB

     

    출력

    AE
    OO
    AB

     

    풀이

     

    C++

    #include <iostream>
    #include <vector>
    
    using namespace std;
    
    int main(){
    
    	//freopen("input.txt", "r", stdin);
    
        int n = 0;
        cin >> n;
    
        vector<string> result;
        for(int i = 0; i < n; i++){
            string s(""), str("");
            cin >> s;
            int start = 0;
            int end = s.size()-1;
            str.push_back(s[start]);
            str.push_back(s[end]);
            result.push_back(str);
        }
    
        for(const auto& it : result){
            cout << it << "\n";
        }
        
        return 0;
    }

     

    Java

    import java.io.*;
    
    public class Main {
         public static void main(String[] args) throws IOException {
            
           // System.setIn(new FileInputStream("input.txt"));
    
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    
            int n = Integer.parseInt(br.readLine());
    
            for (int i = 0; i < n; i++) {
                String s = br.readLine();
                String str =""; 
                str = str + s.charAt(0) + s.charAt(s.length()-1);
                bw.write(str+"\n");
            }
    
            bw.flush();
    
        }
    }

     

    Python

    리스트 컴프리헨션 방법을 사용한 풀이입니다.

    2차원으로 저장되서 1차원으로 바꾸는 작업을 한번 더 했습니다. 이 작업도 리스트 컴프리헨션으로 해도 되고, sum함수를 사용해서 변환할 수 있습니다.

    import sys
    
    #sys.stdin = open("input.txt", "r")
    n = int(sys.stdin.readline())
    board = [list(map(str, sys.stdin.readline().split())) for _ in range(n)]
    board2 = [data for inner in board for data in inner] #sum(board, [])
    
    result = [ board2[i][0]+board2[i][len(board2[i])-1] for i in range(n) ]
    
    for value in result:
        print(value)
    728x90

    'Coding Test > BaekJoon' 카테고리의 다른 글

    [백준] 1991번 트리 순회 c++  (0) 2023.12.13
    [백준] 입력 속도 비교  (0) 2023.05.10
    [BaekJoon] 개똥벌레 c++ , java  (0) 2023.02.01

    댓글

© 2022. code-space ALL RIGHTS RESERVED.