https://www.acmicpc.net/problem/2941
오랫만에 백준문제를 풀게되어,
문제 제출 양식을 몰라 찾아보았다.
기본적으로 class명을 Main으로 고정시키고, main 메소드를 구현하되,
표준입력을 받는 형식으로 구현하면된다.
public class Main {
public static void main(String[] args) {
// 구현 코드
}
}
문제
설계
바꾸고자 하는 알파벳을 저장해두고,
입력받은 문자열에서
해당 단어 존재여부를 검사하면서 Replace해주는 문제이다.
String 클래스의 대표적인 Method 중 기본적인 replace, contains 만 알면 풀 수 있다.
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); // ljes=njak
String str = sc.next();
System.out.println(solution(str));
}
public static int solution(String str) {
String[] croAlpha = {"c=","c-","dz=","d-","lj","nj","s=","z="};
for(String s : croAlpha)
if(str.contains(s)) str = str.replaceAll(s, "*");
return str.length();
}
}
오랫만에 백준문제를 보니, 프로그래머스와 코드 형식의 차이가 눈에 띈다.
프로그래머스는 표준입력이 이미 주어지는 형태로 Solution 함수에서 파라미터로 받아 구현하는 방식이였다면,
백준은 기본적으로 Scanner 클래스를 통해 표준입력을 직접 넣는 형태로 구현 제출해야한다.
백준의 문제풀이 Form이 Debug까지 다양하게 할 수 있어 훨씬 좋은것 같다.
프로그래머스의 문제를 풀때도 제출전까지 Scanner를 이용하면 디버깅에 용이하겠다.
'Algorithm > Weekly Solved' 카테고리의 다른 글
[백준 1316] 그룹 단어 체커 - Java 코드 (0) | 2021.11.30 |
---|---|
[2021 KAKAO] 신규 아이디 추천 - Java코드 (0) | 2021.11.24 |
[위클리챌린지] 8주 - 최소 직사각형 - Java코드 (0) | 2021.10.25 |
[위클리챌린지] 7주 - 입실 퇴실 - Java코드 (0) | 2021.09.24 |
[위클리챌린지] 6주 - 복서 정렬하기 - Java코드 (0) | 2021.09.24 |