▶ BufferedReader와 isLetter을 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력아스키코드표 (ASCII)나의 풀이 이번 문제는 "ROT13" 암호화를 적용하는 문제입니다. Chracter.isLetter() 메서드를 잘몰랐기 때문에 아스키코드의 10진수를 활용해보았습니다. 먼저 빠른 입력을 위해서 BufferedReader 클래스를 사용하여 입력을 받아주고, 문자열 결합을 위하여 StringBuilder 클래스를 활용해 주었습니다. String 타입으로 입력을 받아주고, 해당 길이만큼 반복하는 for문을 작성해 줍니다. charAt() 메서드를 사용하여 각 요소를 문자로 변수 ch에 저장합니다. 그리고 ch를 int형으로 캐스팅하여 저장해 줍니다. 위의 아스키코드를..
▶ BufferedReader & StringBuilder&toCharArray 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 이번 문제는 간단히 8진수 ▶ 2진수로 변환하면 되는 문제입니다. 먼저 빠른 입력을 위해서 BufferedReader 클래스를 사용해서 입력을 받아주고, 입력을 toCharArray() 메서드를 사용하여 문자열 입력을 문자로 나눠줍니다. 그리고 ch배열의 길이만큼 반복하는 for문을 선언하고, 각 요소를 숫자로 변환해 주고, toString() 메서드를 사용하여 2진수로 변환해줍니다. 그러면 입력이 3 1 4로 주어졌을 때 3 ➡ 111 ➡ 14 ➡ 100위와 같이 2진수로 변환이 됩니다. 그러나 이 상태에서 각 요소를 더하면 "11110"와 ..
▶ BufferedReader & StringBuilder을 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 이번 문제는 문자열이 주어졌을 때 단어별로 그대로 뒤집는 문제입니다. 먼저 저는 빠른 입력을 위해 BufferedReader 클래스를 사용하여 테스트 케이스 개수 T를 받아줍니다. T만큼 반복하는 for문을 선언하고, split() 메서드를 사용하여 공백을 기준으로 line배열에 담아줍니다. 그러면 각 line에는 위와 같이 공백을 기준으로 단어가 담기게 됩니다. 이중 for문을 사용하여 각 단어에 대해 작업을 해줍니다. 이때 StringBuilder를 선언하고 reverse() 메서드를 사용하여 각 단어를 뒤집어 줍니다. 그리고 StringBuilder의 ap..
▶ BufferedReader와 모듈러 연산을 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 위 공식을 보면 시그마(Σ) 기호를 사용하여 0부터 l - 1까지 합을 구합니다. 공식을 보고 헷갈리면 밑에 힌트를 보면 보다 쉽게 이해할 수 있을 것입니다. 문자열 번호 * 31의 i번째 거듭제곱을 계속 더해주면 되는 문제입니다. 그러나 이번 문제는 모듈러 연산을 잘 모르면 50점 밖에 나오지 않는 문제입니다. 먼저 문제 접근 방식은 다음과 같습니다. 문자 값 변환문자열의 각 문자를 숫자로 변환합니다.각 문자의 가중치 계산각 문자의 가중치는 해당 문자 값에 r의 거듭제곱을 곱한 값입니다. 모든 문자의 가중치 합산모든 문자의 가중치를 더한 뒤, 결과를 M으로 나눈 나머지를 구합..