All
제네릭과 Wrapper 클래스
제네릭 개념 ---------------------------------------------------------------------------------------- ▶클래스나 메소드를 형판에서 찍어내듯이 생산할 수 있도록 '일반화된 형판'을 만드는 기법 ▶특정 타입만 다루지 않고, 여러 종류의 타입으로 쓰일 수 있도록 클래스나 메소드를 '일반화'시키는 기법 쉬운말로, 자료형을 정하지 않는 기법. (외부에서 지정) -> 외부에서 어떤 타입이 들어올지 모를 때 유용. ▶여러 종류를 받는 클래스,인스터페이스 이름옆에 를 써준다. (타입을 파라미터로 가지는 클래스와 인터페이스가 된다.) 1. 제네릭 클래스 class GClass { private E data; public E getData() { ret..
[8958] OX퀴즈
우선 이 문제는 너무 출력결과에 집착하면 안된다... 내가 그랬기때문에.. 그리고 charAt(index) 문법을 쓸 생각을 못했고 각 인덱스 속에 있는 String의 길이에 접근할 생각을 못해 빙빙 돌아돌아 해결하려했던ㅠㅠ.. 결국 인터넷을 참고하여 풀게 되었는데 나의 코드 결과는 이렇다 :) 출력결과랑 다름에도, '맞았습니다!!' 가 떠서 약간 어이가 없었지만... 이번을 계기로 그렇게 출력결과에 맞추려하지 않아도 됨을 알게되었으니..:/ [알고리즘] 1. String 배열의 길이 (문제 개수)를 입력 받는다. 2. 반복문으로 각 배열의 인덱스에 String을 넣는다. 3. 넣자마자 또 반복문 생성. 어디까지? String의 길이까지. (.length() 함수 사용한다.) 4. 그 인덱스(String..
[1546] 평균
시험과목 개수 N -> N개의 int형 배열 생성 -> for문으로 int형 점수 입력 ->그 중 최댓값 M 구하기 (if문 이용) ->for문으로 배열에 있는 점수들을 모두 /M *100으로 계산하여 double형 평균 변수 avg에 넣기. -> 개수 N으로 나눈 값 출력. import java.util.Scanner; public class Average { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = -1; int[] subject = new int[N]; double avg=0; for (int i=0;i
[2562] 최댓값
필요한 변수는 최댓값 max와 최댓값의 인덱스자리 maxnum, 이렇게 2개 필요하다. 그리고 for문을 돌리면서 배열에 수를 넣는 것과 동시에 최댓값도 비교해주고 만약 max보다 크면 maxnum도 다시 지정해주는 식으로 for문안에서 다 해결했다. import java.util.Scanner; public class Maximum { public static void main(String[] args) { int[] array = new int[9]; Scanner sc = new Scanner(System.in); int max=-1; int maxnum=0; for (int i=0;i
[10818] 최소, 최대
몇개의 값을 넣을 건지 정하고, 그 값들을 넣은 후, 그 값들 중 최솟값고 최댓값을 구하면 되는 문제이다. 처음에 넣는 값을 배열의 길이에 넣고, 반목문을 돌리면서 값하나하나를 배열에 넣어줬고, 넣어주면서 최소최대도 같이 처리해주었다. 처음 최댓값, 최솟값에 넣을 변수는 최댓값에는 가장 작은 값으로, 최솟값에는 가장 큰 값으로 넣으면 된다. 여기서 정수의 범위가 -1000000~1000000이라 했으므로 그 사이의 값을 넣었다. 백준알고리즘문제풀이에서는 클래스이름을 무조건 Main으로 해줘야 할 것이다. 처음에 이걸 모를 땐 한참을 헤멨었다.. +) int a는 굳이 선언해줄 필요는 없다. 바로 array[i]에 넣으면 될 것이다.
[2446] 별찍기 - 9
실습1카테고리에 있는 문제의 거의 마지막 문제이다. (21번 문제는 앞에 별문제보다 정답률이 높아서 건너띌 것이다.) 출력 모습부터 어려워보였는데 정말 배열 하나를 생각못해서 오랜 시간을 헤맸다... 결론은 배열을 이용하면 된다. 줄은 0,1,2,3,4,5,6,7,8로 할지 0,1,2,3,4,3,2,1,0으로 할지 고민해봤는데, 조금이라도 for문에서 겹칠 것같은 0,1,2,3,4,3,2,1,0으로 하기로했다. 그리고 막연히 문제를 풀기시작하기보다 규칙을 찾아보면 더 빨리 풀수있게 된다. 규칙은 별의 개수이다. 9,7,5,3,1,3,5,7,9 순으로 나열돼있기때문에, 9,7,5,3,1을 배열에 넣을 생각을 하면 된다. 그리고 띄어쓰기 for문, 별의 개수 for문, 행 for문 등 여러 for문이 나오므..