Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 백준 java
- JavaScript
- 명령어
- 리눅스마스터 3과목
- 리눅스마스터1급
- 백준 javascript
- 연습문제
- 자바스크립트 코딩의 기술
- java 백준 1차원 배열
- Linux
- 개발자 회고록
- 반복문
- 고잉버스
- 프로그래머스
- Java
- 문자열
- Kotlin
- 카카오
- 리눅스마스터 1급 정리
- 리눅스
- 코테
- 월간코드챌린지
- 코딩테스트
- toCharArray
- 스프링 빈
- 스프링 컨테이너
- map
- GoingBus
- Memoir
- 자바
Archives
- Today
- Total
hoon's bLog
백준 27866 2743 Java Javascript 문자와 문자열 단어 길이 재기 본문
반응형
문제출처 : https://www.acmicpc.net/problem/27866
[27866] 문자와 문자열
<문제>
<Java 풀이>
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
char[] chr = st.nextToken().toCharArray();
st = new StringTokenizer(br.readLine(), " ");
int i = Integer.parseInt(st.nextToken());
System.out.println(chr[i]);
}
}
사실상 첫 문제는 "문자열 문제는 이런 식으로 푸는 거야!"
라는 뉘앙스라 크게 어렵지 않다.
그래도 혹 모르니 다른 사람들은 어떻게 풀었는지,
참고해 보자.
<다른 사람의 풀이>
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String S = br.readLine();
int i = Integer.parseInt(br.readLine());
System.out.println(S.charAt(i-1));
}
}
내가 작성한 코드는 입력값을 char[] 배열로 받아서 사용하고 있고,
위 코드는 특정 인덱스 문자를 charAt() 메서드로 해당 문자에 문자열을 바로 가져오고 있다.
뭐가 맞다, 틀리다 할 수 없지만, 아무래도 좀 더 직관적인 다름 사람의 코드가 간단해 보인다.
<Javascript 풀이>
const [S, i] = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
console.log(S.charAt(i-1));
자바스크립트는 값을 입력받는 과정이
특별히 없기 때문에, 코드가 훨씬 간결하다.
자바스크립트는 거의 비슷한 방식이라 다른 사람의 풀이는 생략하겠다.
문제출처 : https://www.acmicpc.net/problem/2743
[2743] 문자와 문자열
<Java 풀이>
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
String str = st.nextToken();
System.out.println(str.length());
}
}
<다른 사람의 풀이>
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
int count = 0;
while (System.in.read() != '\n') {
count++;
}
System.out.println(count);
}
}
입력값이 '\n', 즉 개행이 아닌 경우 count를 더해주면서 길이를 재는데,
성능적인 측면은 잘 모르겠지만,
아이디어 접근법이 참신한 것 같다.
그래도 필자는 되도록 BufferedReader와 StringTokenizer를 이용해서 풀어보겠다.
<Javascript 풀이>
const str = require('fs').readFileSync('/dev/stdin').toString().trim();
console.log(str.length);
그냥 str 부분을 console.log로 출력하면서 한 줄로 끝내고 싶지만,
미관상 ㅎㅎㅎㅎ
언제나 새로운 정보 공유와 잘못된 정보
비판/지적/태클은 환영입니다!
도움이 되셨다면 공감♥️, 댓글 부탁드려요:)
끝.
728x90
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
백준 9086 11654 11720 Java & Javascript 문자열, 아스키 코드, 알파벳 찾기 (1) | 2024.04.17 |
---|---|
백준 Java & Javascript 1차원 배열 1546 (2) | 2023.09.15 |
백준 Javascript 1차원 배열 10811 (1) | 2023.08.10 |
백준 Java 1차원 배열 10811 (2) | 2023.08.09 |
백준 Java & Javascript 1차원 배열 10813, 5597, 3052 (0) | 2023.08.02 |