더 많이 실패하기

백준 2941번 크로아티아 알파벳 자바 / 백준 단계별로 풀어보기 자바 6단계 / 6. 문자열(5) :개발 공부 39일차(2) 본문

알고리즘/백준

백준 2941번 크로아티아 알파벳 자바 / 백준 단계별로 풀어보기 자바 6단계 / 6. 문자열(5) :개발 공부 39일차(2)

김발자~ 2022. 9. 8. 20:22
반응형

개발 공부 38일차

백준에서 알고리즘 공부중

https://www.acmicpc.net/step

 

단계별로 풀어보기

단계별은 @jh05013님이 관리하고 계십니다. 단계제목설명정보총 문제내가 맞은 문제1입출력과 사칙연산입력, 출력과 사칙연산을 연습해 봅시다. Hello World!152조건문if 등의 조건문을 사용해 봅시다

www.acmicpc.net

 

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

 

 


6. 문자열

(9) 백준 2941번 문제

크로아티아 알파벳

 

문제

 

 

과정 생각해보기

변경해서 입력한 크로아티아 알파벳 배열 만들고...포함되어 있으면 +1 하게 만들면 되는데== 말고 포함할 때 끌어내는 메소드가 있나..?

 

오답

검색해서 특정 문자열을 포함하는 메소드로

문자열변수.matches(".*찾을문자.*")

을 사용해봤는데 원하는 결과가 나오지 않았다

falsetruefalsetrue..이런식으로 나오길 바랐는데 아예 찾지를 못하고,

혹시나해서 change[i] 대신에 lj를 넣고 문자도 lj만 입력해봤더니 true만 8개가 떴다

문자열 변수 s를 for문 안에 넣으면 값이 false 로 하나만 뜬다

 

.contains(찾을문자) 메소드도 마찬가지

 

if문으로 하니까 됐는데,

문제는 표에 적힌 알파벳 외의 크로아티아 알파벳은 인식하지 못하므로

예제에서 e, a, k 를 빼고 3으로 출력됐다

 

크로아티아 알파벳 전체를 안다면 문제가 원하는 식을 뽑을 수 있는데..? 구글링해도 백준 문제만 나온다

 

 

 

정답 인정 코드

알파벳 전체를 쓰지 않고, 배열에 들어간 알파벳들을 문자 하나로 치환시킨 후 전체 문자의 개수를 세면 된다역시 바꿔서 생각해야 한다..sum을 선언할 필요도 없다

 


 

 

직후 백지 복습

개념이 완전히 머리에 들어와서 쉬웠다

반응형
Comments