섹션 1. String 문자열 : 문자 찾기
텍스트한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하라. 대소문자를 구분하지 않는다.
💻 강의 코드
class Algorithm {
public int solution(String str, char t){
int answer = 0;
str = str.toUpperCase();
t = Character.toUpperCase(t);
System.out.println(str);
for(int i = 0; i<str.length(); i++){
if(str.charAt(i)==t)
answer ++;
}
return answer;
}
public void main(String[] args){
Algorithm T = new Algorithm();
Scanner kb = new Scanner(System.in);
String str = kb.next();
char c = kb.next().charAt(0);
System.out.print(T.solution(str,c));
}
}
<@Service
public class StringAlgorithmService {
public int findCharacter(String str, char c) {
int answer = 0;
str = str.toUpperCase();
c = Character.toUpperCase(c);
for (char c1 : str.toCharArray()) {
if (c1 == c) {
answer++;
}
}
/* for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == c) {
answer++;
}
}*/
return answer;
}
}
@SpringBootTest
class AlgorithmApplicationTests {
@Autowired
StringAlgorithmService stringAlgorithmService;
@Test
@DisplayName("문자 찾기")
void findCharacterTest() {
String str = "Hi my Name is LEEman";
char c = 'm';
int answer = stringAlgorithmService.findCharacter(str, c);
System.out.println("result ====> " + answer);
}
}
💻 결과

💻 NOTE
Scanner kb = new Scanner(System.in) : 키보드 입력
String str = kb.next() : 문자열 입력
char c = kb.next().charAt(0) : 문자 입력
toUpperCase() : 대문자 변환
toLowerCase() : 소문자 변환
toCharArray() : String을 char로 바꿔 배열로 반환
출처 : 인프런 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비