2020-11-15 오늘은 너무나도 많이 접하지만 그 의미에 대해서는 잘 모르는 경우가 많은 static에 대하여 알아보자. public class TemplateA { public static void main(String[] args){ } } 우선 정의를 보자면 정적 멤버는 클래스에 고정된 멤버이며, 이는 객체를 생성시키지 않고도 사용할 수 있는 필드와 메서드를 의미한다. 선언하는 방법은 아래 코드와 같다. 우선 필드의 선언 부터 보자. public class tStatic { static String people = "사람"; //사람이라는 근본적인 가치는 변하지 않으며, 공통적인 특징이기 때문에 static을 선언함 String name = "홍길동"; //사람이 개명을 할 수 있기 때문에 st..
2020-11-14 문제 준규는 집을 짓고 있다. 준규는 모든 벽 모양을 직각 삼각형으로 만들려고 한다. 적절히 나무를 잘라 삼각형을 만들었지만, 준규는 각도를 측정할 수 있는 도구를 가지고 있지 않다. 어쩔 수 없이 줄자를 이용해 삼각형 세 변의 길이를 측정한 다음, 직각 삼각형인지 아닌지를 알아보려고 한다. 삼각형 세 변의 길이가 주어졌을 때, 직각 삼각형인지 아닌지를 구하는 프로그램을 작성하시오. 입력 입력의 첫째 줄에는 테스트 케이스의 개수 n이 주어진다. 각 테스트 케이스는 세 정수 1 ≤ a, b, c ≤ 40000 으로 이루어져 있다. 세 정수는 삼각형 각 변의 길이를 나타낸다. 출력 각 테스트 케이스마다 "Scenario #i:"를 출력한다. i는 테스트 케이스 번호이며, 1부터 시작한다...
2020-11-13 알고리즘 및 배열에 관련된 문제를 처리하다 보면, 각 배열을 정렬을 해야 하는 경우가 생기게 된다. 때문에 오늘은 이 정렬 중 2차원 배열을 정렬하는 방법을 알아보도록 하자. 흔히들 1차원 배열은 Array.sort(배열 이름)라는 메서드를 이용해서 손쉽게 정렬을 할 수 있다. 다만 2차원 배열의 경우에는 여기에 추가적인 조건을 제시하여야 한다. 우선 예제는 아래와 같다. (3행 2열의 배열을 우선적으로 만들어 주었다.) ex)배열: arr (3, 5) (4, 2) (3, 4) 그러면 바로 코드를 살펴보도록 하자 import java.util.Arrays; import java.util.Comparator; 우선 2종류의 import를 실행해야 한다. 정렬을 위한 Arrays와 비교를..
2020-11-12 문제 수강신청의 마스터 김종혜 선생님에게 새로운 과제가 주어졌다. 김종혜 선생님한테는 Si에 시작해서 Ti에 끝나는 N개의 수업이 주어지는데, 최소의 강의실을 사용해서 모든 수업을 가능하게 해야 한다. 참고로, 수업이 끝난 직후에 다음 수업을 시작할 수 있다. (즉, Ti ≤ Sj 일 경우 i 수업과 j 수업은 같이 들을 수 있다.) 수강신청 대충 한 게 찔리면, 선생님을 도와드리자! 입력 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (1 ≤ Si < Ti ≤ 109) 출력 강의실의 개수를 출력하라. 풀이 사실 처음에는 주어진 예제를 보고 강의 순서가 시간별 순서대로 나열된다고 생각하여, 접근하였다. 때문에 강의의 종료 시간..
2020-11-11 문제 최백준이 이번 학기에 들은 과목과 학점 그리고 성적이 주어졌을 때, 평균 평점을 계산하는 프로그램을 작성하시오. 성적은 A+~F까지 총 13개가 있다. A+: 4.3, A0: 4.0, A-: 3.7 B+: 3.3, B0: 3.0, B-: 2.7 C+: 2.3, C0: 2.0, C-: 1.7 D+: 1.3, D0: 1.0, D-: 0.7 F: 0.0 평균 평점은 각 과목의 학점*성적을 모두 더한 뒤에, 총 학점으로 나누면 된다. 입력 첫째 줄에, 백준이가 이번 학기에 들은 과목 수가 주어진다. 둘째 줄부터 N개의 줄에 각 과목의 과목명, 학점, 성적이 주어진다. 과목명은 알파벳 소문자와 숫자, 그리고 밑줄 (_)로만 이루어져 있으며, 최대 100글자이고, 학점은 1보다 크거나 같고..
2020-11-10 문제 오늘은 NAVER D2 캠퍼스에서 CTP 스터디 하는날!!! 스터디 장소가 인하대학교 강의실에서 NAVER D2 캠퍼스로 바뀌었기 때문에 멀티탭 부장 준호는 스터디 전에 미리 멀티탭을 셋팅 해야 한다. CTP는 모든 사람이 사용할만큼 충분한 멀티탭을 가지고 있다. 종류는 3구부터 8구까지 다양하게 있다. 모든 사람들은 노트북만 가져오기 때문에 멀티탭 1구를 무조건 사용한다. 1구를 초과해선 안 된다. CTP에는 멀티탭에 2개이상 연속으로 코드를 꽂으면 안되는 특별한 규칙이 있다. 준호는 미리 계산을 해서 모두가 코드를 꽂을 수 있게 멀티탭을 K개 챙겨 갔다. 하지만 준호는 수학과에서 수학을 못해 전과했기 때문에 가끔 멀티탭을 적게 가지고 올 때가 있다. 수학을 더 잘하는 여러분이..