인프런 커뮤니티 질문&답변
6번 문제 질문입니다.
작성
·
153
0
안녕하세요! 강사님! 강의 잘 듣고 있습니다!
6번문제를 강사님의 풀이방식으로 풀고 다른 풀이 방식이 생각나서 풀어봤는데
public class Main {
public String solution(String str) {
String result = "";
boolean[] aList = new boolean[26];
for (char ch : str.toCharArray()) {
int aValue = ch - 97;
if (!aList[aValue]) {
result += String.valueOf(ch);
aList[aValue] = true;
}
}
return result;
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
Main q6 = new Main();
String solution = q6.solution(s);
System.out.println(solution);
}
}
이러한 방식으로 풀어봤는데 Runtime 에러가 계속해서 나더라구요.. IDE에서는 작동을 하는데 반례가 있는 걸까요???ㅠㅠㅠ 0으로 나눈 것도 없는데 힌트만 주실수 있을까요..!!
- 문제 풀이 방식은 소문자로 입력한다고 되어있어서 아스키코트값인 97로 빼주고 알파벳 26개인 방을 만들어줘서 체크하는 방식으로 풀었습니다.
답변 2
0
0
안녕하세요! 답변이 늦어서 죄송합니다!!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public String solution(String str) {
String result = "";
boolean[] aList = new boolean[26];
for (char ch : str.toCharArray()) {
int aValue = ch - 97;
if (!aList[aValue]) {
result += String.valueOf(ch);
aList[aValue] = true;
}
}
return result;
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
Main q6 = new Main();
String solution = q6.solution(s);
System.out.println(solution);
}
}
이런식의 코드입니다.!!!






감사합니다!!