전체 글 (263) 썸네일형 리스트형 [백준] 1780 : 종이의 개수 JAVA 풀이 너무 안 풀려서 내가 너무 어렵게 생각하고 있는 건가 하고 다른 분들의 풀이를 검색해보니 어렵게 생각하고 있던 게 맞았다 하하 그래서 이 포스트를 참고해서 문제를 해결했다. https://st-lab.tistory.com/235 [백준] 1780번 : 종이의 개수 - JAVA [자바] www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1의 세 값 중 하나가 저장되어 있다. 우리는 이 행렬을 적절한 크기로 자르려고 하는데, st-lab.tistory.com 대략적인 풀이방법은 이렇다. 보드의 모든 칸을 검사해서 하나의 색으로 구성되어 있다면, 그 색깔의 개수를 1 추가한다. 여러 색이 섞여있다면 그 보드를 .. [백준] 11728 : 배열 합치기 JAVA 풀이 1. 배열 A의 크기 N, B의 크기 M을 입력받는다. 2. A와 B에 들어있는 수를 한 번에 저장할 ArrayList를 생성한다. 3. 배열 A와 B의 내용을 ArrayList에 저장한다. 4. Collections.sort()를 사용해 ArrayList를 정렬한다. 5. ArrayList에 저장된 값을 출력한다. import java.io.*; import java.util.*; public class Main{ public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new String.. [백준] 1476 : 날짜 계산 JAVA 풀이 E S M은 모두 1부터 시작해서 1년이 지날 때마다 1씩 증가한다. 이때 E S M의 범위는 모두 달라서 1씩 증가하다가 자신의 범위를 넘어서면 다시 1로 돌아가야 한다. 이를 반복하면서 입력된 E S M을 만족하려면 몇 년이 걸리는지를 알아내는 문제인데, 풀이방법은 간단하다. 1. E S M을 입력받는다 2. 입력된 E S M을 만족하려면 몇 년이 걸리는지 기록할 변수 year를 생성한다. 3. 1 1 1부터 1씩 증가시켜서 E S M과 일치하는지 검사하는 데에 필요한 변수 e, s, m을 생성한다. 4. E와 e가 같고, S와 s가 같고, E와 e가 같을 때까지 e, s, m, year을 1씩 증가시킨다. 5. E==e&&S==s&&M==m을 만족할 때의 year값을 출력한다. import java.. [백준] 10824 : 네 수 JAVA 풀이 1. 문자열을 입력 받는다. 2. A와 B를 연결한 값, C와 D를 연결할 값을 저장할 StringBuilder를 생성한다. 2. A B C D는 공백으로 나누어져 입력되므로, StringTokenizer를 사용해 쪼갠다. 3. StringBuilder.append()를 사용해 A와 B, C와 D를 이어붙인다. 4. 두 StringBuilder에 저장된 값을 Long으로 캐스팅한 후 더하고 출력해준다. 아무리 봐도 문제가 없어보이는데 자꾸 NumberFormat 런타임에러가 떠서 당황스러웠다. 다시 문제를 잘 읽어보니 A B C D 각각이 1,000,000까지도 가능하기 때문에 int로는 감당할 수 없는 값이 입력될 수도 있는 거였다. 문제를 꼼꼼히 읽는 게 참 중요한 것 같다. import java.i.. [백준] 11655 : ROT13 JAVA 풀이 1. 문자열을 입력받는다. 2. 13글자씩 민 문자열을 저장할 StringBuilder를 생성한다. 3. 문자열을 한 글자씩 검사해서 알파벳일 경우 13글자를 민다. 예를 들어 A라면 L이 되도록 하면 된다. 그런데 원래 알파벳이 O였다면 B가 되어야 한다는 점을 주의해야 한다. O는 15번째 알파벳인데 알파벳의 총 개수는 26개이기 때문에 단순히 O+13을 하면 28이 돼 알파벳의 개수를 넘어 전혀 상관없는 글자가 되기 때문이다. 따라서 14번째 알파벳인 N을 기준으로 N 이전의 알파벳이라면 +13을 하고 N 이후의 알파벳이라면 -13을 해주면 된다. 4. 각 자리의 알파벳을 상황에 맞게 변형시키고 StringBuilder.append()로 문자열을 생성한다. 알파벳이 아니라면 본래의 문자를 그대로 a.. [백준] 2743 : 단어 길이 재기 JAVA 풀이 String.length()로 문자열의 길이를 세고 출력만하면 되는 간단한 문제다. import java.io.*; public class Main{ public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); System.out.println(str.length()); } } [백준] 10820 : 문자열 분석 JAVA 풀이 1. 소문자, 대문자, 숫자, 공백의 개수를 셀 int 배열 array를 생성한다. 2. 입력이 없을 때까지 문자열을 입력받는다. String 변수인 str에 br.readLine()으로 입력받은 내용을 저장했다. 그리고 str이 null이면(더 이상 입력되는 것이 없으면) 반복문을 종료한다. 3. str의 길이만큼 반복문을 실행한다. str의 한 글자 한 글자가 소문자인지, 대문자인지, 숫자인지, 공백인지 검사하고 그 개수를 array 배열에 저장한다. 4. array에 저장된 값을 출력한다. 5. array를 다시 0으로 초기화해준다. 필자는 이 과정을 빠트려서 처음엔 오답이 나왔었다... 한 문장의 대,소문자, 숫자, 공백의 개수를 세는 것이기 때문에 새로운 문장을 입력받을 때마다 이 배열을 꼭 초.. 07 객체지향 프로그래밍 2 요약 ○ 상속(inheritance) : 기존의 클래스를 재사용해 새로운 클래스를 작성하는 것 ○ 조상 클래스 : 부모(parent) 클래스, 상위(super) 클래스, 기반(base) 클래스 ○ 자손 클래스 : 자식(child) 클래스, 하위(sub) 클래스, 파생된(derived) 클래스 - 자손 클래스는 조상 클래스의 모든 멤버를 상속받음 ( 생성자, 초기화 블럭 제외 ) - 자손 클래스의 멤버 개수는 조상 클래스의 멤버 개수보다 많거나 같음 - 클래스 관계에서 '형제 관계'라는 건 없음 - 자손 클래스의 인스턴스를 생성하면 조상 클래스의 멤버 + 자손 클래스의 멤버가 합쳐진 인스턴스가 생성됨 - 자바에서는 단일 상속만 허용함 - Object 클래스는 모든 클래스의 조상 클래스임 ○ 포함 관계 : 한 클.. 이전 1 ··· 15 16 17 18 19 20 21 ··· 33 다음