1. 문제 2. 풀이BFS 방법으로 해결해 보았다. 큐를 만들어 상,하,좌,우를 탐색하면서 아직 방문하지 않았거나 같은 색깔인 경우 방문 처리 후 큐에 넣어준다. 이때, 적록색약인 경우 R과 G가 같은 색상으로 보이므로 G를 R로 바꾸거나, R을 G로 바꿔주면 된다.다른 BFS 문제를 풀 때와 유사한 코드를 사용해 풀려고 노력했다. 그래프 탐색의 큰 틀은 비슷하게 가져가고, 문제에서 요구하는 세부 사항만 변경해 문제풀이의 일관성을 유지했다. 3. 코드from collections import dequen = int(input())graph = [list(input()) for _ in range(n)]visited = [[False]*n for _ in range(n)]dx,dy = [1,0,-1,0],..
문제> ArrayList를 이용하여 학생별 프로그래밍 언어 자격증 취득 정보를 관리하고, 자바 자격증을 보유한 학생 이름을 출력하시오. 조건> - 학생 이름 및 자격증 취득 정보를 위한 Student 클래스 생성 - 학생 1인당 보유 자격증은 1개로 제한 - 모든 클래스는 하나의 파일에 정의 이름 자격증(프로그래밍 언어) 유재석 파이썬 박명수 자바 김종국 자바 조세호 C 서장훈 파이썬 import java.util.ArrayList; import java.util.List; class Student { String name; String certification; public Student(String name, String certification) { this.name = name; this.cert..
✨ 7장 퀴즈 클래스를 이용해 햄버거를 자동으로 만드는 프로그램을 작성하시오. - 햄버거의 종류는 햄버거, 치즈버거, 새우버거 3가지 - 각 버거는 각각의 클래스로 생성 - 버거 이름을 담기 위한 name 변수 정의 - 재료 정보를 표시하는 cook() 메소드 정의 - 공통 부분은 상속 및 메소드 오버라이딩으로 처리 - 모든 클래스는 하나의 파일에 정의 - 각 버거의 재료 정보 1) 햄버거: 양상추, 패티, 피클 2) 치즈버거: 양상추, 패티, 피클, 치즈 3) 새우버거: 양상추, 패티, 피클, 새우 class HamBurger { public String name; public HamBurger() { this("햄버거"); }..
✨ 상속이란? - 상속이란 기존의 클래스에 기능을 추가하여 재정의하여 새로운 클래스를 정의하는 것을 의미한다. 상속을 이용하면 기존에 정의되어 있는 클래스의 모든 필드와 메소드를 물려받아, 새로운 클래스를 생성할 수 있다. 이때 기존에 정의되어 있던 클래스를 부모 클래스 또는 상위 클래스라고 하고, 상속을 통해 새롭게 작성되는 클래스를 자식 클래스 또는 하위 클래스라고 한다. ✨ 상속의 장점 1. 기존에 작성된 클래스를 재활용할 수 있다. 2. 자식 클래스 설계 시 중복되는 멤버를 미리 부모 클래스에 작성해 놓으면, 자식 클래스에서 해당 멤버를 작성하지 않아도 된다. 3. 클래스 간의 계층적 관계를 구성함으로써 다형성의 문법적 토대를 마련한다. ✨ 형식 class 자식클래스이름 extends 부모클래스이..
✨ 접근 제어자 - '정보 은닉' 이란 사용자가 굳이 알 필요 없는 정보는 사용자로부터 숨겨야 한다는 개념이다. 그렇게 해서 사용자는 최소한의 정보만으로 프로그램을 손쉽게 사용할 수 있게 된다. 접근 제어자는 멤버 또는 클래스에 사용되어, 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다. 1. private 2. default 3. protected 4. public 💡접근 범위가 넓은 쪽에서 좁은 쪽의 순으로 왼쪽부터 나열하면 다음과 같다. public > protected > default > private 💡 default를 위한 접근 제어자는 따로 존재하지 않고, 접근 제어자가 지정되지 않으면 자동으로 default 접근 제어를 가지게 된다. ✨접근 제어자를 이용한 캡..
✨ Getter와 Setter - Getter와 Setter를 사용하는 이유는 객체의 무결성을 보장하기 위함이다. 만약 외부에서 몸무게라는 필드에 접근한다면 0보다 낮은 값을 줄 수도 있다. 이럴 경우 몸무게는 음수를 가질 수 없기에 무결성이 깨지게 된다. 이것을 방지하기 위해 Getter와 Setter를 사용한다. 이를 사용해 데이터를 생성 및 접근하게 되면 입력받는 값을 바로 저장하는 게 아닌 한번 검증을 거친 후 처리할 수 있기 때문이다. - Getter: 본 필드의 값을 순긴 채 내부에서 가공된 값을 꺼낼 수 있다. - Setter: 필드를 private로 만들어 외부의 접근을 제한한 후, Setter를 사용해 전달받은 값을 내부에서 가공해 필드에 넣어줄 수 있다. ✨ 기본 형태 //getter ..