본문 바로가기

알고리즘 문제풀이153

백준 2941번 크로아티아 알바펫(Java) 문제 https://www.acmicpc.net/problem/2941 풀이 String 클래스에서 문자열을 치환해 주는 replace 메서드를 이용하여 문제를 풀이하였습니다. 단순히 문자열의 길이만 알면 되는 문제이기 때문에 replace 메서드를 이용하여 크로아티아 문자를 아무 의미 없는 문자 1개로 치환하여 문자열의 길이를 출력해 주었습니다. 코드 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 Bu.. 2020. 10. 26.
백준 10951번 A+B -4(Java) 문제 https://www.acmicpc.net/problem/10951 풀이 처음 이 문제를 보았을때 문제에 종료 조건이 명시되어 있지않아 당황했었다. 이 경우엔 EOF(End Of File)을 통해 프로그램이 종료되도록 해야한다. 여기서 EOF(End Of File)이란 입력 스트림이 더 이상 읽을 데이터가 없을 때를 말한다. 필자의 경우 BufferReader를 이용하여 문제를 풀었는데 자바 공식 문서에 따르면 StringBuffer는 더 이상 입력 데이터가 없을때 null을 리턴한다고 설명하고 있다. 코드 public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buff.. 2020. 10. 26.
백준 3052번 나머지(Java) 문제 https://www.acmicpc.net/problem/3052 풀이 이 문제는 '순서를 유지하지 않고, 중복 없이 자료를 저장'하는 Set 자료구조를 이용하면 쉽게 풀 수 있는 문제라고 생각합니다. 반복문을 이용하여 입력 받은 값을 42로 나눈 나머지 값을 Set에 추가하게되면 중복 없이 값이 저장되기 때문에 문제에서 요구하는 출력 값인 '42로 나누었을 때, 서로 다른 나머지가 몇 개'를 Set에 저장되어 있는 값의 개수를 통해서 바로 알 수 있습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashSet; import java.ut.. 2020. 10. 26.