전체 글 408

[백준/BOJ] 1726 - 로봇

1726 - 로봇 📌 문제 많은 공장에서 로봇이 이용되고 있다. 우리 월드 공장의 로봇은 바라보는 방향으로 궤도를 따라 움직이며, 움직이는 방향은 동, 서, 남, 북 가운데 하나이다. 로봇의 이동을 제어하는 명령어는 다음과 같이 두 가지이다. 명령 1. Go k: k는 1, 2 또는 3일 수 있다. 현재 향하고 있는 방향으로 k칸 만큼 움직인다. 명령 2. Turn dir: dir은 left 또는 right 이며, 각각 왼쪽 또는 오른쪽으로 90° 회전한다. 공장 내 궤도가 설치되어 있는 상태가 아래와 같이 0과 1로 이루어진 직사각형 모양으로 로봇에게 입력된다. 0은 궤도가 깔려 있어 로봇이 갈 수 있는 지점이고, 1은 궤도가 없어 로봇이 갈 수 없는 지점이다. 로봇이 (4, 2) 지점에서 남쪽을 향하..

[Java/OOP] 자바와 절차적/구조적 프로그래밍

"스프링 입문을 위한 자바 객체 지향의 원리와 이해" 를 읽고 정리한 내용입니다. 자바 프로그램의 개발과 구동 자바 개발 환경을 이해하려면 JVM (Java Virtual Machine)의 역할을 필수적으로 알아야 한다. 현실 세계에 빗대어 자바 세계를 표현하면 아래와 같다. 현실 세계 자바 세계 소프트웨어 개발 도구 JDK (자바 개발 도구) 운영체제 JRE (자바 실행 환경) 하드웨어 (컴퓨터) JVM (자바 기상 기계) 자바에서는 JDK를 이용해 개발된 프로그램이 JRE에 의해 가상 컴퓨터인 JVM 상에서 구동된다. JDK는 자바 소스 컴파일러인 javac.exe 를, JRE는 자바 프로그램 실행기인 java.exe 를 포함하고 있다. (사진 출처 - 블로그) 이러한 구조 덕분에 자바의 대표적인 특..

[TID] 2021-03-08

💪 Today I Did 알고파 스터디 백준 문제풀이 1260번 - DFS와 BFS 1012번 - 유기농 배추 11724번 - 연결 요소의 개수 2667번 - 단지번호붙이기 6603번 - 로또 7562번 - 나이트의 이동 solved.ac CLASS 4 2407번 - 조합 CLASS 3까지 풀고 한동안 쉬었는데 4까지는 풀어봐야겠다. 스프링 입문을 위한 자바 객체 지향의 원리와 이해 2장. 자바와 절차적/구조적 프로그래밍 객체 지향에 대한 개념을 정확히 짚고 넘어가고 싶어서 산 책이다. 저자는 이 책의 모토를 "두 번째 자바 책이자 첫 번째 스프링 책" 이 되었으면 좋겠다고 서술했는데, 한 챕터밖에 읽지 않았음에도 불구하고 되게 와닿는 표현이었다. 내용들이 쉽게 설명되어 있어 술술 잘 읽힌다. 🏃‍♂️ ..

[백준/BOJ] 6603 - 로또

6603 - 로또 📌 문제 독일 로또는 에서 수 6개를 고른다. 로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 것이다. 예를 들어, k=8, S=인 경우 이 집합 S에서 수를 고를 수 있는 경우의 수는 총 28가지이다. ([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], …, [3,5,8,13,21,34]) 집합 S와 k가 주어졌을 때, 수를 고르는 모든 방법을 구하는 프로그램을 작성하시오. 📋 코드 from itertools import combinations while True: tmp = list(map(int, input().spl..

[백준/BOJ] 1149 - RGB거리

1149 - RGB거리 📌 문제 RGB거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로 있다. 집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구해보자. 1번 집의 색은 2번 집의 색과 같지 않아야 한다. N번 집의 색은 N-1번 집의 색과 같지 않아야 한다. i(2 ≤ i ≤ N-1)번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 한다. 📋 코드 N = int(input()) dp = [list(map(int, input().split())) for _ in range(N)] for i in range(1, N): dp[i..

[백준/BOJ] 1043 - 거짓말

1043 - 거짓말 📌 문제 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 과장해서 말한다. 당연히 과장해서 이야기하는 것이 훨씬 더 재미있기 때문에, 되도록이면 과장해서 이야기하려고 한다. 하지만, 지민이는 거짓말쟁이로 알려지기는 싫어한다. 문제는 몇몇 사람들은 그 이야기의 진실을 안다는 것이다. 따라서 이런 사람들이 파티에 왔을 때는, 지민이는 진실을 이야기할 수 밖에 없다. 당연히, 어떤 사람이 어떤 파티에서는 진실을 듣고, 또다른 파티에서는 과장된 이야기를 들었을 때도 지민이는 거짓말쟁이로 알려지게 된다. 지민이는 이런 일을 모두 피해야 한다. 사람의 수 N..