코딩테스트/BOJ

[BOJ] 2941 크로아티아 알파벳

5월._. 2022. 2. 22.
728x90

1. 문제

https://www.acmicpc.net/problem/2941

 

2941번: 크로아티아 알파벳

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=

www.acmicpc.net


2. 풀이

line은 입력받은 문자열이다.

첫 번째 방법-> if문 활용하기

int count = 0;
for (int i = line.length() - 1; i >= 0; i--) {
   count++;
   if(line.charAt(i)=='=') {
      i--;
      if(i-1>=0 && line.charAt(i)=='z' && line.charAt(i-1)=='d') i--;
   }else if(line.charAt(i)=='-') {
      i--;
   }else if(line.charAt(i)=='j') {
      if(i-1>=0 && (line.charAt(i-1)=='n' || line.charAt(i-1)=='l')) i--;
   }
}

System.out.println(count);

두번째 방법 -> replace 활용하기

크로아티아 알파벳을 문자열 배열에 담아놓고 라인에 같은 게 있으면 전부 교체한다. 

String[] str = {"c=","c-","dz=","d-","lj","nj","s=","z="};

for(int i=0;i<8;i++){
   line = line.replaceAll(str[i],".");
}

System.out.println(line.length());

3. 결과

 

'코딩테스트 > BOJ' 카테고리의 다른 글

[BOJ] 2667 단지번호 붙이기 - JAVA  (0) 2022.02.23
[BOJ] 2108 통계학 - JAVA  (0) 2022.02.23
[BOJ] 1417 국회의원 선거 - JAVA  (0) 2022.02.22
[BOJ] 1759 암호만들기 - JAVA  (0) 2022.02.22
[BOJ] 2606 바이러스 - JAVA  (0) 2022.02.20

댓글