전체 글

전체 글

    BOJ - 테트로미노 14500번 (JAVA)

    ❓ 문제 - 백준 테트로미노 14500번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/14500) 📝 문제해결법 1. 이 문제는 구현으로 풀었다. 각 모양의 회전, 대칭한 모양 모두 다 구현으로 만든 후 해당 모양에 해당하는 MAP에 숫자를 더해서 최대값을 갱신하도록 구현하였다. 밑의 모양에서 색깔있는 부분은 1로 만약 네모틀 안에 모양인 부분을 제외한(색깔없는) 부분은 -1로 해서 1일 때만 해당 모양으로 인식할 수 있게 코딩하였다. 2. 느낀점 바로 이 문제 보자마자 빡구현이겠다 싶어서 각 모양에 잘 맞춰 구현했지만 나중에 다른 풀이들도 참고해보니 DFS를 활용하면 좀 더 간결하게 최대값을 구해낼 수 있더라.. 근데 둘 다 백준에서 돌려보니 빡구현의 경우 DFS..

    BOJ - 주사위 굴리기 14499번 (JAVA)

    ❓ 문제 - 백준 주사위 굴리기 14499번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/14499) 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 📝 문제해결법 1. 이 문제는 구현으로 풀었다. 주사위의 윗면 - 바닥면 - 앞면 - 뒷면 - 왼쪽면 - 오른쪽면에 대한 값들을 dice 배열을 통해 저장 지도의 값을 map를 통해 저장한다. 주사위를 움직일 때 dx, dy(동-0, 서-1, 북-2, 남-3)..

    스프링이란 - 2

    1. 스프링과 객체 지향 스프링에서 객체 지향의 다형성 특징이 가장 중요하며, 스프링은 다형성을 극대화해서 이용할 수 있게 도와준다. 스프링에서 이야기 하는 제어의 역전(IoC), 의존 관계 주입(DI)는 다형성을 활용해 역할과 구현을 편리하게 다룰 수 있도록 지원한다. 2. 좋은 객체 지향 설계의 5가지 원칙(SOLID) 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리하였으며, 스프링은 이런 원칙들을 극대화 할 수 있다. 객체지향의 다형성 특징만으로 밑의 원칙인 OCP, DIP를 지킬 수 없으며 스프링 내 어떠한 기능들을 통해 이러한 원칙이 지켜질 수 있도록 해야한다. 1) SRP(단일 책임 원칙, single responsibility principle) 한 클래스는 하나의..

    스프링이란 - 1

    스프링 1. 스프링이란? 스프링은 자바 언어 기반의 프레임워크이다. 자바 언어의 가장 큰 특징은 객체 지향 언어인데 스프링은 이런 객체 지향 언어가 가진 강력한 특징을 살려낼 수 있는 프레임 워크이다. 스프링을 통해 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와줄 수 있다. 2. 객체 지향 프로그래밍이란 ? 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위인 "객체" 들의 모임으로 파악하고자 하는 것이다. 이런 객체 지향 프로그래밍 안에서 객체는 메시지를 주고 받고 데이터를 처리할 수 있다. 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들어줘 대규포 소프트웨어 개발에 많이 사용된다. 유연하고, 변경이 용이하다는 게 프로그래밍에서 ..