본문 바로가기

전체 글

(106)
[SWEA] 1233. 사칙연산 유효성 검사 (JAVA) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV141176AIwCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [문제] 사칙연산 “+, -, *, /”와 양의 정수로만 구성된 임의의 이진 트리가 주어질 때, 이 식의 유효성을 검사하는 프로그램을 작성하여라. 여기서 말하는 유효성이란, 사칙연산 “+, -, *, /”와 양의 정수로 구성된 임의의 식이 적절한 식인지를 확인하는 것으로, 계산이 가능하다면 “1”, 계산이 불가능할 경우 “0”을 출력한다. (단, 계산이 가능한지가 아닌 유효성을 검사하는 문제이므로 ..
[SWEA] 1232. 사칙연산 (JAVA) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV141J8KAIcCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [문제] 사칙연산으로 구성되어 있는 식은 이진 트리로 표현할 수 있다. 아래는 식 “(9/(6-4))*3”을 이진 트리로 표현한 것이다. 임의의 정점에 연산자가 있으면 해당 연산자의 왼쪽 서브 트리의 결과와 오른쪽 서브 트리의 결과를 사용해서 해당 연산자를 적용한다. 사칙연산 “+, -, *, /”와 양의 정수로만 구성된 임의의 이진트리가 주어질 때, 이를 계산한 결과를 출력하는 프로그램을 작성하라..
[SWEA] 1231. 중위순회 (JAVA) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV140YnqAIECFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [문제] 다음은 특정 단어(또는 문장)를 트리 형태로 구성한 것으로, in-order 형식으로 순회하여 각 노드를 읽으면 원래 단어를 알 수 있다고 한다. 위 트리를 in-order 형식으로 순회할 경우 SOFTWARE 라는 단어를 읽을 수 있다. 총 10개의 테스트 케이스가 주어진다. 총 노드의 개수는 100개를 넘어가지 않는다. 트리는 완전 이진 트리 형식으로 주어지며, 노드당 하나의 알파벳만 ..
[SWEA] 1226. 미로1 (JAVA) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14vXUqAGMCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [문제] 아래 그림과 같은 미로가 있다. 16*16 행렬의 형태로 만들어진 미로에서 흰색 바탕은 길, 노란색 바탕은 벽을 나타낸다. 가장 좌상단에 있는 칸을 (0, 0)의 기준으로 하여, 가로방향을 x 방향, 세로방향을 y 방향이라고 할 때, 미로의 시작점은 (1, 1)이고 도착점은 (13, 13)이다. 주어진 미로의 출발점으로부터 도착지점까지 갈 수 있는 길이 있는지 판단하는 프로그램을 작성하라...
[SWEA] 1238. Contact (JAVA) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15B1cKAKwCFAYD&categoryId=AV15B1cKAKwCFAYD&categoryType=CODE&problemTitle=1238&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [문제] 비상연락망과 연락을 시작하는 당번에 대한 정보가 주어질 때, 가장 나중에 연락을 받게 되는 사람 중 번호가 가장 큰 사람을 구하는 함수..
[JAVA] 객체지향(3) Abstract Class(추상 클래스) 자식 클래스에서 반드시 부모 클래스의 메서드를 재정의 해서 사용하기 때문에 부모 클래스에서의 메서드 구현이 무의미한 상황 -> 함수에 대한 정의는 있어야 하는데 몸통은 필요 없을 경우 abstract 사용. abstract 메서드는 abstract 클래스에만 있을 수 있다. 부모 클래스에서 해당 메서드의 선언부만 남기고 구현부는 세미콜론(;)으로 대체 abstract 키워드를 메서드 선언부에 추가 (구현부가 없다는 의미) abstract 키워드를 클래스 선언부에 추가 (객체를 생성할 수 없는 클래스라는 의미) 추상 클래스의 특징 - abstract 클래스는 상속 전용 클래스이다. - 객체를 생성할 수는 없지만 자식 클래스를 참조할 수는 있다. - 부모 클래스에서 ..
[JAVA] 객체지향 (2) Inheritance(상속) : 기존 클래스의 필드, 메서드를 자식 클래스에서 재사용하기 위한 것 - 생성자, 초기화 블록(static, instance)는 상속하지 않는다. 유지 보수에 유리 extends 키워드를 사용 · 컴파일 시점 extends가 없으면 컴파일러가 extends Object 붙여서 실행 - Object Class 는 모든 Class의 부모 클래스 상속 (is a 관계) : 자식 클래스 is a 부모 클래스 - 위 첨부 사진에서 SpiderMan is a Person. 자바는 단일 상속만 지원 ※ 다중 상속 효과를 원한다면 1) interface 또는 2) 포함 관계(has a)로 구현 가능 포함 has a 관계 public class SpiderMan2 extends Person{..
[JAVA] 객체 지향 (1) 객체 지향 프로그래밍 객체 : 사물, 주변에 있는 모든 것 인천의 당근걸이 부천의 영화관에 방문해서 팝콘을 주문하기 위해 필요한 객체는 총 5개이다. 객체 지향 프로그래밍의 장점 - 신뢰성 높은 프로그래밍 가능 - 코드 재사용 - 유지보수 유리 속성과 기능을 추상화하여 클래스 정의 -> new 키워드를 통해 구체화 → 자바세계에서 활동 가능한 객체 (object, instance) 생성 ˙ 객체는 heap 메모리에 생성 (new를 사용해 생성한 것은 모두 heap 영역에 생성) 클래스 : 객체를 정의한다. 클래스 사용을 위해 객체를 생성해야 한다. 객체 : 클래스를 구체화, 실제로 사용 가능하다. 클래스를 데이터타입으로 해서 메모리에 생성한다. JVM 메모리 구조 - Class 영역 : 프로그램이 run..