-
[백준] 문자열 9086번 c++, java, pythonCoding Test/BaekJoon 2023. 8. 29. 14:30728x90
문제 설명
문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오.
입출력 예
입력
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