[伯俊]クロアチア文字(Java)
👩🏫 質問する
[伯俊]クロアチア文字
質問する
以前はオペレーティングシステムでクロアチア文字を入力できませんでした.したがって、クロアチア文字の入力は次のように変更します.
例えばljes=njakには6つのクロアチア文字(lj,e,š, nj,a,kからなる.単語が与えられると、出力はいくつかのクロアチア文字で構成されます.
džアルファベット、dとž分離とは思えない.ljもnjも同じです.上のカタログにないアルファベットは、一字一字数えています.
入力
最初の行には最大100文字の単語があります.小文字「-」、「=」で構成されています.
単語はクロアチア文字で構成されています.質問説明表のアルファベットを変更形式で入力します.
しゅつりょく
入出力所与の単語はいくつかのクロアチア文字からなる.
👩💻 に答える
1)charAt
アクティブプール(128ミリ秒)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 str = br.readLine();
int len = str.length();
int count = 0;
for(int i = 0; i < len; i++) {
char ch = str.charAt(i);
if (ch == 'c' && i < (len-1)) {
if (str.charAt(i+1) == '=' || str.charAt(i+1) == '-') {
i++;
}
}
else if (ch == 'd' && i < (len-1)) {
if (str.charAt(i+1) == '-') {
i++;
}
else if (str.charAt(i+1) == 'z' && i < (len-2)) {
if (str.charAt(i+2) == '=') {
i += 2;
}
}
}
else if ((ch == 'l' || ch == 'n') && i < (len-1)) {
if (str.charAt(i+1) == 'j') {
i++;
}
}
else if ((ch == 's' || ch == 'z') && i < (len-1)) {
if (str.charAt(i+1) == '=') {
i++;
}
}
count++;
}
System.out.println(count);
}
}
2)toCharArray
活用プール(コード長は短いが速度はやや遅い…140 ms)import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String s = bufferedReader.readLine();
int count = 0;
// toCharArray() : 문자열을 한 글자씩 쪼개서 이를 char 타입의 배열에 집어넣어줌
char[] chars = s.toCharArray();
for(int i = 0; i < s.length(); i++){
char t = chars[i];
if(t == '-'){
continue;
}
if(t == '='){
if(i > 1 && (chars[i-1] == 'z' && chars[i-2] == 'd')){
count--;
}
continue;
}
if(t == 'j' && i > 0 && ( chars[i-1] == 'l' || chars[i-1] == 'n' )){
continue;
}
count++;
}
System.out.println(count);
}
}
Reference
この問題について([伯俊]クロアチア文字(Java)), 我々は、より多くの情報をここで見つけました
https://velog.io/@geesuee/백준-크로아티아-알파벳
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
1)
charAt
アクティブプール(128ミリ秒)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 str = br.readLine();
int len = str.length();
int count = 0;
for(int i = 0; i < len; i++) {
char ch = str.charAt(i);
if (ch == 'c' && i < (len-1)) {
if (str.charAt(i+1) == '=' || str.charAt(i+1) == '-') {
i++;
}
}
else if (ch == 'd' && i < (len-1)) {
if (str.charAt(i+1) == '-') {
i++;
}
else if (str.charAt(i+1) == 'z' && i < (len-2)) {
if (str.charAt(i+2) == '=') {
i += 2;
}
}
}
else if ((ch == 'l' || ch == 'n') && i < (len-1)) {
if (str.charAt(i+1) == 'j') {
i++;
}
}
else if ((ch == 's' || ch == 'z') && i < (len-1)) {
if (str.charAt(i+1) == '=') {
i++;
}
}
count++;
}
System.out.println(count);
}
}
2)toCharArray
活用プール(コード長は短いが速度はやや遅い…140 ms)import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String s = bufferedReader.readLine();
int count = 0;
// toCharArray() : 문자열을 한 글자씩 쪼개서 이를 char 타입의 배열에 집어넣어줌
char[] chars = s.toCharArray();
for(int i = 0; i < s.length(); i++){
char t = chars[i];
if(t == '-'){
continue;
}
if(t == '='){
if(i > 1 && (chars[i-1] == 'z' && chars[i-2] == 'd')){
count--;
}
continue;
}
if(t == 'j' && i > 0 && ( chars[i-1] == 'l' || chars[i-1] == 'n' )){
continue;
}
count++;
}
System.out.println(count);
}
}
Reference
この問題について([伯俊]クロアチア文字(Java)), 我々は、より多くの情報をここで見つけました https://velog.io/@geesuee/백준-크로아티아-알파벳テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol