반응형
https://www.acmicpc.net/problem/10926
✅ 문제
- 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다.
- 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오.
- 시간 제한: 1 초
- 메모리 제한: 256 MB
💡 입력
- 첫째 줄에 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어진다.
- 아이디는 알파벳 소문자로만 이루어져 있으며, 길이는 50자를 넘지 않는다.
💡 출력
- 첫째 줄에 준하의 놀람을 출력한다.
- 놀람은 아이디 뒤에 ??!를 붙여서 나타낸다.
💡 예제 입력 1
joonas
💡 예제 출력 1
joonas??!
💡 예제 입력 2
baekjoon
💡 예제 출력 2
baekjoon??!
✅ 해결
💡 해결 계획
- 문자열을 입력받는다.
- 입력받은 문자열 뒤에 "??!"을 붙인 문자열을 생성한다.
- 생성한 문자열을 출력한다.
💡 코드 1 (성공)
시간 복잡도는 O(N)이다.
- 시간 복잡도는 문자열의 길이에 비례한다.
- 입력받은 문자열을 저장하는 데는 O(N)의 시간이 소요된다.
- 문자열 뒤에 "??!"를 붙여 출력하는 데는 O(1)의 시간이 소요된다.
Scanner 클래스를 이용하여 문자열을 입력받고, 입력받은 문자열 뒤에 "??!"를 붙인 뒤 System.out.println() 메서드를 이용하여 출력한다.
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in); // Scanner 객체 생성
String str = sc.nextLine(); // 문자열 입력
System.out.println(str + "??!"); // 입력한 문자열 뒤에 "??!"를 붙여 출력
}
}
✅ 개념
💡 Scanner 클래스
Java에서 입력 스트림에서 다양한 데이터 유형을 읽어올 수 있는 클래스이다.
Scanner 객체를 생성하고 System.in을 매개변수로 전달하면 콘솔에서 사용자 입력을 읽어올 수 있다.
Scanner 클래스는 입력받는 데이터가 많을 경우 느려지는 문제가 있으므로, 대용량의 입력 데이터 처리에는 적합하지 않다.
반응형
'프론트엔드 > 알고리즘' 카테고리의 다른 글
자바 JAVA | 백준 10171번 고양이 | 이스케이프 문자 활용 (0) | 2022.09.28 |
---|---|
자바 알고리즘 | IMOS 알고리즘을 활용한 구간 중첩 최대값 찾기 (0) | 2022.09.23 |
자바 JAVA | 백준 11660번 구간 합 구하기 5 | 2차원 배열에서 구간 합 구하기 (0) | 2022.09.20 |
자바 JAVA | 백준 2588번 곱셈 | 연산자를 활용한 세 자리 수 곱셈 계산 프로그램 (2) | 2022.09.20 |
자바 JAVA | 백준 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 | 배열(Array)의 개념과 사용 방법 (0) | 2022.09.20 |
자바 JAVA | 백준 18108번 1998년생인 내가 태국에서는 2541년생?! | 불기 연도와 서기 연도 간의 변환 방법 (1) | 2022.09.20 |
자바 알고리즘 | 코딩테스트에서 필수적인 시간 복잡도 개념과 활용 방법 (0) | 2022.09.19 |
자바 JAVA | 백준 11659번 구간 합 구하기 4 | 부분 합을 이용한 구간 합 구하기 알고리즘 (0) | 2022.09.13 |