코딩테스트(5)
-
StringTokenizer 이용하여 데이터 입력받기
Ex29 자바파일에 입력줄마다 StringTokenizer 객체를 생성해야 한다. 입력줄마다 StringTokenizer 객체를 생성하고 변수에 nextToken()으로 입력받는다. ※ 배열 요소에 입력값을 대입할 때 StringTokenizer 객체를 for() 반복문 위에 생성한다. for() 반복문 안에 StringTokenizer 객체를 생성하면 오류가 발생한다. ※ 49번줄처럼 1줄에 여러 데이터를 입력받을 경우에도 StringTokenizer 객체를 for() 반복문 위에 생성한다. 실행결과 예외 : StringTokenizer 객체를 for() 반복문 안에 생성하는 경우 -> 입력줄마다 시작점과 끝점을 받고 입력줄이 M까지 있는 경우 줄이 바뀔 때마다 StringTokenizer를 객체를 생..
2023.10.25 -
003 구간 합 구하기
문제 A 배열: 5 4 3 2 1 S 배열: 5 9 12 14 15 여기에서 A배열이 인덱스가 1부터 시작할 때, 2번째부터 4번째 요소의 합을 구하려면 구간 합을 이용하면 구할 수 있다 S[4] - S[2-1] = 14 - 5 = 9 A[2] + A[3] + A[4] = 4 + 3 +2 = 9 1, 2 , 3 -> stringTokenizer 에 새로운 객체를 생성한다. 왜 똑같은 변수에 3번이나 객체를 새로 생성할까? 3번 객체 생성을 하는 이유는 한 줄에 데이터를 입력할 때 입력한 데이터를 분리하기 위해 StringTokenizer를 사용하는데 이 데이터를 3줄에 입력하기 때문에 데이터를 입력할 때 StringTokenizer 객체를 생성하는 것이다. 첫 줄에 데이터의 갯수, 질의 갯수를 입력해야 ..
2023.09.09 -
002 평균구하기
(문제) 세준이는 기말고사를 망쳤다. 그래서 점수를 조작해 집에 가져가기로 결심했다. 일단 세준이는 자기 점수 중 최댓값을 골랐다. 그런 다음 최댓값을 M이라 할 때 모든 점수를 점수/M * 100으로 고쳤다. 예를 들어 세준이의 최고점이 70점, 수학점수가 50점이라면 수학점수는 50/70*100 이므로 71.43점이다. 세준이의 성적을 이 방법으로 계산했을 때 새로운 평균을 구하는 프로그램을 작성하시오. 내 코드 [입력] 3 40 80 60 [출력] 75 가 되게 해야한다. 입력을 한 줄로 받기 배열 변수를 정해서 입력을 받았다. 배열 요소 중에서 최댓값을 구하고 합을 구한 다음 (합 * 100) / 최댓값 / 총과목을 구한다. ※ [시행착오] ※ 변환된 점수를 구할 때 (기존점수/최댓값)*100을 ..
2023.09.03 -
001 숫자의 합 구하기
N이라는 숫자를 입력받아 N 갯수만큼 숫자를 입력하고 입력받은 숫자를 더한 값을 출력한다. N의 범위가 1부터 100까지이므로 값을 int형, long형으로 담을 수 없다. 입력받는 숫자는 공백없이 더해야 한다. 입력받는 숫자는 문자열로 입력받는다. 문자열에서 char[]로 형변환하기 위해 문자열변수명.toCharArray()를 썼다. char[]의 각 요소값을 정수형 숫자로 변경한다. char를 정수로 변경할 때 강제형변환이나 자동형변환하면 아스키코드값이 출력된다. 이런 경우 char[] 각 요소에 '0'문자를 빼면 정확히 정수값이 나온다. 문자'1' = 아스키 코드 값이 49이다. 문자'0' = 아스키 코드 값이 48이다. '1' - '0' = (아스키코드값) 49 - 48 = 1 또 정수변수명 = ..
2023.09.03 -
백준_체스 피스 계산
문제 3003 - 체스핀 계산문제 cnt 변수 : 체스핀의 총 갯수 저장 -> 체스핀은 킹, 퀸 같이 종류별로 나뉘어 그 갯수가 다르므로 cnt를 배열로 선언했다. array 변수 : 입력 값을 저장한다. idx 변수 : 입력값과 체스핀은 배열 타입으로 생성해서 인덱스 변수를 만들었다. array변수에 값을 입력하면 cnt 변수에서 array 변수를 뺀다. (cnt[idx] - array[idx]) 값이 동혁이가 올바른 세트를 구해야 하는 갯수가 된다. 백준 사이트에 답안 제출시 주의할 점 자바 언어는 Main 클래스 파일로 인식하므로 클래스 이름을 Ex0811에서 Main으로 수정한다. package명도 지워줘야 에러없이 컴파일이 완료된다.
2023.08.11