Category 59

백준 12100 : 2048(Easy) [파이썬]

https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 1. 문제 2048 게임은 4×4 크기의 보드에서 혼자 즐기는 재미있는 게임이다. 이 문제에서 다루는 2048 게임은 보드의 크기가 N×N 이다. 보드의 크기와 보드판의 블록 상태가 주어졌을 때, 최대 5번 이동해서 만들 수 있는 가장 큰 블록의 값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 ..

Programming/python 2023.03.13

UML(Unified Modeling Language)

UML 구조 다이어 그램(6) - 정적 모델링 행위 다이어 그램(7) - 동적 모델링 다이어 그램 구조적 다이어 그램(정적 다이어그램) 클래스 다이어 그램 클래스와 클래스가 가지는 속성, 클래스 사이의 관계 표현 시스템의 구조를 파악하고 구조상의 문제점을 도출 객체 다이어 그램 클래스에 속한 사물(객체) 즉 인스턴스를 특정 시점의 개체와 객체 사이의 관계로 표현 컴포넌트 다이어그램 실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스를 표현 구현단계에서 사용되는 다이어그램 배치 다이어그램 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현 노드와 의사소통(통신) 경로로 표현 구현 단계에서 사용되는 다이어그램 복합체 구조 다이어그램 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구..

CS 2023.03.08

객체 지향 설계 원칙

1. 단일 책임 원칙 Single Responsibility Principle(SRP) 객체는 오직 하나의 책임을 가져야 한다. (객체는 오직 하나의 변경의 이유만을 가져야 한다.) 사칙연산 함수를 가지고 있는 계산 클래스가 있다고 치자. 이 상태의 계산 클래스는 오직 사칙연산 기능만을 책임진다. 만일 프로그램이 대대적으로 공사를 들어가게 되더라도 계산 클래스가 수정될만한 사유는 누가 봐도 사칙연산 함수와 관련된 문제뿐이다. 이처럼 단일 책임 원칙은 클래스의 목적을 명확히 함으로써 구조가 난잡해지거나 수정 사항이 불필요하게 넓게 퍼지는 것을 예방하고 기능을 명확히 분리할 수 있게 한다. 위의 원칙이 제대로 지켜지지 않으면 어떻게 될까? 어떤 프로그래머가 위의 계산 클래스를 통해 GUI를 가지는 계산기 프..

Programming/Java 2023.03.06

SWEA 점심 식사시간 [파이썬]

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5-BEE6AK0DFAVl&categoryId=AV5-BEE6AK0DFAVl&categoryType=CODE&problemTitle=sw&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=2 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제설명 N*N 크기의 정사각형 모양의 방에 사람들이 앉아 있다. 점심을 먹기 위해 아래 층으로 내려가야 하는데, 밥을 빨리 먹기 위해 최대한..

Programming/python 2023.03.06

SWEA 원자 소멸 시뮬레이션 [파이썬]

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRFInKex8DFAUo&categoryId=AWXRFInKex8DFAUo&categoryType=CODE&problemTitle=sw&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 설명 [제약 사항] 1. 원자들의 수 N 은 1,000개 이하이다. (1≤N≤1,000) 2. 각 원자들의 보유 에너지 K 는 1 이상 ..

Programming/python 2023.03.04

백준 6087 : 레이저 통신 [파이썬]

https://www.acmicpc.net/problem/6087 6087번: 레이저 통신 크기가 1×1인 정사각형으로 나누어진 W×H 크기의 지도가 있다. 지도의 각 칸은 빈 칸이거나 벽이며, 두 칸은 'C'로 표시되어 있는 칸이다. 'C'로 표시되어 있는 두 칸을 레이저로 통신하기 위해서 www.acmicpc.net 1. 문제설명 문제에 풀이에 대한 감을 전혀 잡고 있지 못했다. 생각했던것들은 3가지 였다. 벽에 부딪힐 때까지 한방향으로 나아가기 O 방향이 바뀔 때 visited + 1처리 O 3차원 으로 해결 X 이 중에서 풀이에 대한 해결법은 2가지 정도만 해당 됐다. 이 문제를 푸는 법 C의 죄표를 찾아 리스트에 좌표값을 넣는다. (무조건 두개이고 무조건 한쪽에서 한쪽으로 연결된다.) 아무거나 ..

Programming/python 2023.02.25

백준 2206 : 벽 부수고 이동하기 [파이썬]

https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 1. 문제 설명 (0, 0) 에서 (n-1, m-1) 까지 이동할 수 있다면 거리를, 없다면 -1을 출력하는 문제인데 문제는 벽을 하나 부술 수 있다라는 것이였다. 1. 첫 시도 처음은 그냥 bfs를 시도한다. 그리고 벽을 하나씩 0으로 만들고 시도한후, 다시 1로 만든다. bfs를 시도할때마다 (n-1, m-1)를 리스트에 넣고 최댓값을 뽑는다. 최댓값이 0이라면 못가는..

Programming/python 2023.02.25

Java - 기본 개념

1. 자바 생성자의 특징 모든 클래스는 인스턴스화 될때 생성자를 사용한다. 생성자의 특징 생성자는 리턴타입이 없다. 생성자를 프로그래머가 만들지 않으면 매개변수가 없는 생성자가 컴파일할 때 자동으로 만들어진다. 매개변수가 없는 생성자를 기본생성자라고 한다. 생성자를 하나라도 프로그래머가 만들었다면 기본생성자는 자동으로 만들어진다. 생성자의 역할 생성자가 하는 일은 객체가 될 때 필드를 초기화 하는 역할을 수행한다. 자동차가 객체가 될때 반드시 이름을 가지도록 하려면, Car클래스를 다음과 같이 만들어야 한다. public class Car{ String name; int number; public Car(String n){ name = n; } } 위의 Car 클래스 이용하여 Car 인스턴스를 생성하는 ..

Programming/Java 2023.02.20

Stack 2

ㅇㅇ Day3 - Stack 2 스택 2 계산기 1 문자열로 된 계산식이 주어질 때, 스택을 이용하여 이 계산식의 값을 계산할 수 있다. 문자열 수식 계산의 일반적인 방법 중위 표기법을 수식의 후위 표기법으로 변경한다. (스택 이용) 후위 표기법의 수식을 스택을 이용하여 계산한다. step1. 중위표기식의 후위표기식 변환 방법1 수식의 각 연산자에 대해서 우선순위에 따라 괄호를 사용하여 다시 표현한다. 각 연산자를 그에 대응하는 오른쪽괄호의 뒤로 이동시킨다. 괄호를 제거한다. step1. 중위 표기법에서 후위 표기법으로의 변환 알고리즘(스택 이용)2 입력 받은 중위 표기식에서 토큰을 읽는다. 토큰이 피션산자이면 토큰을 출력한다. 토큰이 연산자(괄호포함)일 때, 이 토큰이 스택의 top에 저장되어 있는 연..

ssafy 2023.02.20

싸피 6~7 주차 후기 [9기 비전공자]

5 주차 1. 첫 과목평가 파이썬 이론에 대해 다 배운후 파이썬 이론에 대한 과목평가를 보았다 문제는 거의 객관식이고 주관식 몇개와 서술형도 있었다. 난이도는 헷갈리는 거 몇개를 제외하고는 수업에만집중해도 합격할 수 있을 정도였다. 2. 새로운 스터디 전 주에 회식을 했었는데 그 이후로 반 분위기가 확실히 좋아진것 같다. 그 이후로 새로운 스터디들도 많이 생겼는데 난 자바 스터디와 포스팅 스터디를 추가적으로 가입했고 알고리즘 스터디까지 3개의 스터디를 참여하게 되었다. 싸피에서는 스터디를 많이 한다고 들었는데 실제로 많이 하는사람들은 4개도 하는 것 같다. 3. 수업 속도 알고리즘 수업에 들어오면서 수업의 속도가 점점 빨라지기 시작했고 비전공자들은 점점 복습할 것들이 많아지고 있는 것 같다, 아무래도 다..

ssafy 2023.02.18
728x90