본문 바로가기

전체 글1104

[자바] 백준 21964 - 선린인터넷고등학교 교가 (java) 문제 : boj21964 필요 알고리즘 개념 문자열 문자열 파싱 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. 길이 N의 문자열이 주어진다. 2. 뒤에서부터 5글자를 출력해주면 된다! substring을 써도 되고, character 단위로 확인해서 하나하나 출력해줘도 된다(당연히 후자가 더 효율적이긴하지만 이 의미에서 의미가 있는 수준은 아니다.) 코드 : github import java.io.Buffer.. 2022. 11. 25.
[자바] 프로그래머스 - 다음에 올 숫자 (Lv0, Java) 문제 : Programmers-다음에 올 숫자 문제 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 필요 알고리즘 개념 수학(?) 일단 등차수열과 등비수열이 뭔지는 알아야 풀 수 있다. 구현 주어진 대로 구현해주면 된다. 항상 입력은 등차수열 혹은 등비수열임이 보장된다. 또한 common의 길이는 3이상이므로 판단이 불가능한 경우도 없다. 1. 등차수열인지 아닌지(아니라면 문제 조건에 따라서 무조건 등비수열) 판단한다. 2. 등차수열이라면 공차를, 등비수열이라면 공비를 구한 후 common의 마지막 값에 공차를 더해주거나, 공비를 곱해준다. 코드 : github /** * 문제 출처: 프로그래머스 코딩 테스트 연습, https://pro.. 2022. 11. 25.
[자바] 백준 17387 - 선분 교차 2 (java) 문제 : boj17387 필요 알고리즘 개념 선분 교차 판정 (기하학, CCW) 선분 교차 판정 알고리즘으로 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 CCW를 이용한 선분 교차 여부 판정을 보고 그대로 구현해주면 된다. 코드 : github import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringToken.. 2022. 11. 25.
[자바] 백준 17386 - 선분 교차 1 (java) 문제 : boj17386 필요 알고리즘 개념 선분 교차 판정 (기하학, CCW) 선분 교차 판정 알고리즘으로 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 CCW를 이용한 선분 교차 여부 판정을 보고 그대로 구현해주면 된다. 코드 : github import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringToken.. 2022. 11. 25.
[자바] 백준 25991 - Lots of Liquid (java) 문제 : boj25991 필요 알고리즘 개념 수학 수학문제이다! ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 n개의 정육면체의 한 면의 길이 c가 주어진다. 이 때 해당 정육면체에 담긴 액체의 부피는 c^3이 된다. 이걸 전부 다 더하면 n개의 정육면체에 담긴 액체의 총 부피를 알 수 있다. 이 값의 세제곱근을 구하면 구하고자 하는 컨테이너의 한 면의 길이를 구할 수 있다. 코드 : github import java.io... 2022. 11. 25.
[자바] 백준 3765 - Celebrity jeopardy (java) 문제 : boj3765 필요 알고리즘 개념 애드 혹 정형화된 방식이 존재하지 않고 이 문제만의 아이디어를 생각해내야 한다. EOF (end of file) 판단 별도로 입력 줄 수가 주어지지 않으므로 EOF를 판단해서 입력 받아야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 장황하게 설명되어 있지만, 입력받은 그대로 다시 출력해주면 된다 ㅋㅋ 자바의 BufferedReader의 경우 eof를 만날 시 null을 리턴.. 2022. 11. 25.
[자바] 백준 18409 - 母音を数える (Counting Vowels) (java) 문제 : boj18409 필요 알고리즘 개념 문자열, 구현 문자열을 파싱해서 다룰 수 있어야 하는 구현문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 일본어 문제라 못풀 것 같이 생기긴 했는데, 번역기 돌리면 된다. 이 문제의 경우엔 번역기 돌릴 것도 없이 예제 입출력 보면 어떻게 풀지 알수 있다. 뭔가 숫자가 들어오고, 문자가 들어오는데 문자 길이가 숫자와 동일하니 대충 길이라고 생각하면 되고, 그 아래에 _oi_.. 2022. 11. 25.
[자바] 백준 10864 - 친구 (java) 문제 : boj10864 필요 알고리즘 개념 구현 별다른 알고리즘 지식 없이 문제에 제시된 대로 구현만 할 줄 알면 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. N명의 학생에 대해 N+1크기의 배열 cnt[N+1]을 만들어보자. cnt[x]는 x번 학생의 친구 수를 나타낸다. 2. M개의 친구 관계 A B를 입력받는다. 그리고 cnt[A]++; cnt[B]++; 를 해준다. (A와 B가 친구면, B와 A.. 2022. 11. 25.
[오브젝트] 3장. 역할, 책임, 협력 스터디 메인 페이지목차- ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다.- 모든 이미지의 출처는 오브젝트(조영호 저) 책 입니다. CHAPTER 03. 역할, 책임, 협력[ 객체지향 패러다임의 관점에서 핵심 ]⚈ 클래스, 상속, 지연 바인딩이 중요하지 않은 것은 아니지만, 구현 측면에 치우쳐 있으므로 객체지향 패러다임의 본질과는 거리가 멀다.클래스와 상속은 객체들의 책임과 협력이 어느 정도 자리를 잡은 후에 사용할 수 있는 구현 메커니즘일 뿐이다. ⚈ 객체지향 패러다임의 핵심은 역할(role), 책임(responsibility), 협력(collaboration.. 2022. 11. 24.
[오브젝트] 2장. 객체지향 프로그래밍 스터디 메인 페이지목차- ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다.- 모든 이미지의 출처는 오브젝트(조영호 저) 책 입니다.CHAPTER 02. 객체지향 프로그래밍01 영화 예매 시스템- 코드 (github)02 객체지향 프로그래밍을 향해- 협력, 객체, 클래스대부분의 사람들은 클래스(class)를 경험한 후에 클래스에 어떤 속성과 메서드가 필요한지 고민한다.진정한 객체지향 패러다임으로의 전환은 클래스가 아닌 객체에 초점을 맞춰야 얻을 수 있다.객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 일원으로 봐야 한다. 협력에 참여하는 협력자.. 2022. 11. 23.