본문 바로가기

구름4

[코딩연습] 최대 자리곱(구름-3단계) - Error(시간초과) 풀이과정 (아래 글과 스크린샷을 참고해주세요.) 풀이의 버젼은 4개로 되어있으며 1~3 버전까지는 readline()으로 읽은 문자열을 정수로 형변환 후 for 반복문을 만들고 다시 개별 숫자를 문자열로 변환하여 charAt()메소드를 활용하는 방식으로 값을 구하였습니다. 4버젼 부터 정수로 형변환 후 사칙연산만을 통해 값을 구하였습니다. 입력정수값 N이 10억(테스트케이스 3번)의 연산시간은 점차 줄어들었으나 결국 해결하지는 못하였습니다. (코드는 아래 [풀이방식 ver1~3 / 풀이방식 ver4]에 작성되었습니다.) 문제를 읽고 예상했던 것보다 훨씬 더 많은 시간을 투입했지만 해결하지 못한 문제입니다. (풀이방법을 아시는분은 공유해주시면 감사하겠습니다. ㅠㅠ) First : 배열 / ArrayList.. 2021. 6. 6.
[코딩연습] 문자열 번갈아 출력하기 (구름 - Level 3) StringBuffer 풀이과정 1. 입력받은 문자열을 조작하기 위해서 입력문자열에 대한 StringBuffer의 인스턴스 생성 (초기문자열이라 명명) 2. 출력결과는 초기문자열을 기준으로 앞글자와 뒷글자를 차례대로 출력하는 것입니다. 3. 문자열의 양끝에서 한글자씩 안쪽으로 들어가며 출력하는 것보다 양끝만을 출력 하는 것이 더 쉽기 때문에 출력된 문자는 제거합니다. 예) 문자열 출력 abcdef >> af bcde >> afbe cd >> afbecd > 위 작업은 기존 문자열에 문자가 없을 때까지 지속합니다. 4. 문자의 갯수가 홀수일 경우 앞글자를 삭제한 뒤 삭제할 뒷글자가 없기 때문에 앞글자를 삭제한 후 문자가 없을 시 반복을 끝낼 수 있도록 처리합니다. - 저장한 문자열을 수정할 수 없는 String 클래스와 달리 메.. 2021. 5. 21.
[코딩연습] 특정 구간의 합 - (구름-3단계) 풀이과정 1. 총 세번에 걸쳐서 입력을 받음 용도에 따라 정수형, 문자열배열, 문자열 변수 선언 및 저장 2. 산술연산을 위해 문자형 배열을 정수형배열로 변경 3. 주어진 범위에 따라 정수형 배열의 요소값을 더하여 준다. 합을 위한 구간 입력값을 처리하는데 생각외로 어려움을 겪음. 문자열로 받은 뒤 첫번째와 세번째 문자를 이용해서 합계범위를 구하려는 계획 구상 계속 인덱스범위를 에러가 발생하였고 이유를 확인해보니 charAt(int index)로 구한 값을 엉뚱하게 처리하였다. charAt() 메소드의 return 값은 char 형이지만 아무생각 없이 for문의 int i 의 초기값 및 비교조건값으로 설정 char형 자료가 포함된 산술연산을 할 때, 형 변화를 고려하여 의도한 결과가 나오도록 코드작성 I.. 2021. 5. 18.
[코딩연습] 시험성적 평균과 등급 구하기 (구름-1단계) import java.io.*; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); 해당문제는 평소처럼 BufferedReader클래스를 활용하여 받은 데이터를 문자열 변수 input에 저장한 코드가 초기값으로 주어져 있습니다. 풀이과정 0. readline은 입력된 줄을 문자열로 return하는 함수. -> 입력된 점수는 공란 (스페이스)으로 구분되어 있음. 1. split() 메서드를 통해 문자열을 공란을 기준으로 쪼개어 배열에 저장. Stri.. 2021. 5. 3.