https://programmers.co.kr/learn/courses/30/lessons/81301
import java.util.Arrays;
public class kakao81301 {
public static void main(String[] args) {
String s = "one4seveneight";
int an = Solutionkakao81301.solution(s);
}
}
class Solutionkakao81301 {
public static int solution(String s) {
int answer = 0;
String[] strArray = new String[s.length()];
// 숫자 0~9 -> 아스키코드 48~57
// 영어 a~z -> 아스키코드 97~122
for(int i=0; i<s.length(); i++){
strArray = s.split("");
}
System.out.println(Arrays.toString(strArray));
return answer;
}
}
문자열.charAt(인덱스) | |
class Solution {
String answer;
public int compare(char ch, int i, String s){
switch(ch){
case 'z' :
answer += "0";
return 3;
case 'o' :
answer += "1";
return 2;
case 'e' :
answer += "8";
return 4;
case 'n' :
answer += "9";
return 3;
case 't' :
if(s.charAt(i+1)=='w'){
answer += "2";
return 2;
}else{
answer += "3";
return 4;
}
case 'f' :
if(s.charAt(i+1)=='o'){
answer += "4";
return 3;
}else{
answer += "5";
return 3;
}
case 's' :
if(s.charAt(i+1)=='i'){
answer += "6";
return 2;
}else{
answer += "7";
return 4;
}
}
return 0;
}
public int solution(String s) {
answer = "";
String temp = "";
for(int i=0; i<s.length(); i++){
char ch = s.charAt(i);
if(ch>='a' && ch<='z'){
int jump = compare(ch,i,s);
i += jump;
}else{
answer += ch;
}
}
return Integer.parseInt(answer);
}
}
contains를 활용
class Solution {
public int solution(String s) {
String[] words = {"zero","one","two","three","four","five","six","seven","eight","nine"};
for(int i = 0; i < words.length; i++){ //근데 체크 안해도 됨
if(s.contains(words[i])){
s = s.replace(words[i], String.valueOf(i));
}
}
return Integer.parseInt(s);
}
}
replace를 활용
public class kakao81301 {
public static void main(String[] args) {
String s = "one4seveneight";
int an = Solutionkakao81301.solution(s);
}
}
class Solutionkakao81301 {
public static int solution(String s) {
int answer = 0;
String[] numGraph = {"zero","one","two", "three","four","five","six","seven","eight","nine"};
for(int i=0; i<10; i++){
System.out.println(numGraph[i]+" "+i+"");
s=s.replace(numGraph[i],i+"");
}
System.out.println(s);
answer = Integer.parseInt(s);
return answer;
}
}
사용한 것:
replace | 문자열 = 문자열.replace(대상, 치환문자); String str = "사과는 맛있습니다. 추석에 사과를 먹습니다."; String text = str.replace("사과", "배"); System.out.println(text); 결과) 배는 맛있습니다. 추석에 배를 먹습니다. |
replaceAll | 문자열 = 문자열.replaceAll(정규표현식대상, 치환문자); |
Integer.parseInt | Integer.parseInt(문자열); |
'알고리즘 > 알고리즘' 카테고리의 다른 글
[스킬 체크 레벨 1] x만큼 간격이 있는 n개의 숫자 (완료) (0) | 2022.03.07 |
---|---|
[프로그래머스]오픈채팅방 (0) | 2021.12.24 |
[프로그래머스] 없는 숫자 더하기 (0) | 2021.12.15 |
[프로그래머스] 나머지가 1이 되는 수 찾기 (0) | 2021.12.10 |
[프로그래머스] 기능개발 (0) | 2021.11.22 |