분류 전체보기 133

Java 학생 만들기

문제 학생 100명을 만들어 평균점수가 가장 높은 학생을 만들어주세요. [student] 클래스는 학생을 정보를 생성할 클래스이다. 1. 학생의 이름은 랜덤이며 [name()] 메서드에서 first_name과 last_name을 합쳐서 리턴하여준다. 2. 점수는 랜덤이며 [ran()]메서드를 만들어 랜덤으로 각각의 점수를 부여해준다 3. 총합 점수는 [sums()]메서드를 이용하여 구해준다 4. 평균 점수인 avg는 sum / 3(과목수) 를 하여 구해준다 5. 다음으로는 String.format을 이용하여 학생들을 메인에서 찍어냈을때에 이름: ??? 국어: ???....과 같은 형식으로 나오게 해준다 [studentClass] 클래스는 학생들을 100명을 만들어 평균점수가 가장 높은 학생을 확인하는 클..

공부/Java 복습 2021.09.09

Advertising Frame 주요 기능 설명 2.

[AdGetImage]클래스는 이미지를 불러올때에 사이즈를 조절할 수 있는 클래스이다 makeImageIncon이라는 메서드에 이미지의 주소값, 가로규격, 세로규격을 받아서 이미지를 원하는 사이즈로 리턴받는데 이미지를 불러올 일이 많기때문에 따로 클래스를 만들어 필요할 떄 마다 가져다 사용할 수 있게 만들어두었다. 상세페이지의 모습이다(AdDetailsView) 참고로 화질은...데이터 베이스를 공유해서 쓰고 있었는데 서버가 닫혀서 정보를 불러올 수 없게 되어서 아쉽게도 예전에 사진으로 찍어준걸로 대체한다. (내 데이터베이스에 정보를 넣고 할 수 있지만....ㅎㅎ 글쓴이가 할 일이 많은 관계로 패스!) # 상세 페이지는 광고페이지에서 누른 책의 상세정보를 확인할 수 있다. 대여버튼을 누를시에는 몇가지 조..

백준 3052 자바

문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. 숫자 10개를 입력받은뒤에 42로 나눈 나머지를 구한다. 이때에 나머지값중에 서로 다른 값이 몇 개 있는지 출력하는 문제이다. 이 문제는 간단하게 해결하였다 HashSet은 값의 중복을 허용하지않는다 중..

백준 2292 자바

위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 입력 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. 출력 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. 이번 문제는 벌집이 어떻게 생겼는지 알아야 그 규칙을 알 수 있다. 벌집은 위의 사진과 같이 육각형으로 이루어져있다(위의 사진을 보면 알 수 ..

백준 1712 자바

문제 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다. 노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EVEN POINT)이라고 한다. A, B, C가 주어졌..

백준 2980 자바

상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다. 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다. 두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다. 출력 첫째 줄에 상수의 대답을 출력한다. 1. 스..

백준 2941 자바

예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다. 입력 첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다. 단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에 나와있는 알파벳은 변경된 형태로 입력된다. 출력 입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. 1. ArrayList croatia에 크로아티아 알파벳을 담아준다 2. re..

백준 1316 자바

문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어의 개수 N이 들어온다. N은 100보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 단어가 들어온다. 단어는 알파벳 소문자로만 되어있고 중복되지 않으며, 길이는 최대 100이다. 출력 첫째 줄에 그룹 단어의 개수를 출력한다. check() 메서드에 대한 풀이 1. boolean 타입의 c..

리다이렉트, 인터셉트

컨트롤러에서 뷰를 분기하는 방법과 컨트롤러 실행 전/후에 특정 작업을 가능하게 하는 방법에 대해서 학습한다. #리다이렉트 (지금의 페이지에서 특정 페이지로 전환하는 기능) 예를들어 클라이언트가 회원정보 수정 요청을하고 회원인증을 거쳐 회원정보 수정 페이지로 유도되야하는데 회원인증이 안되어있다면 메인 페이지(특정 페이지)로 유도하는 기능이다. #인터셉트 리다이렉트가 빈번하게 발생할 경우 굉장히 번거롭기때문에 아예 컨트롤러가 시작 전후로 인터셉트하여 먼저 검증한다. DispatcherServlet이후 HandlerInterceptor(인터페이스)가 가로첸다 HandlerInterceptor는 3개의 메소드로 구현될수있고 preHandle(), postHandle(), afterCompletion() 이 있다..

백준 2675 자바

문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 출력 각 테스트 케이스에 대해 P를 출력한다. 1. t에는 테스트 케..

728x90