본문 바로가기

분류 전체보기

(351)
[BOJ] 10026. 적록색약 Python, Java https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 1. 해결방법 BFS로 해결했다. DFS보단 BFS가 훨씬 간단해 보인 단순한 이유;; R과 G가 같은 것으로 판단하기 위해서 단순하게 2중 for문을 이용해서 R을 G로 바꾸고 BFS를 한번 더 돌렸다. 끝;; 너무 쉬움.. 2. 정답코드 Python import sys from collections import deque input = sys.stdin.readline N = int(i..
[JAVA] 람다와 함수형 인터페이스 1. 람다식 (Lambda Expression) 함수를 하나의 식(expression)으로 표현한 것이다. 함수를 람다식으로 표현하면 메소드의 이름이 필요 없기 때문에, 람다식은 익명 함수(Anonymous Function)의 한 종류 라고 볼 수 있다. // 기존의 방식 반환티입 메소드명 (매개변수, ...) { 실행문 } // 예시 public String hello() { return "Hello World!"; } 하지만 람다 방식으로는 위와 같이 메서드 명이 불필요하며, 다음과 같이 괄호() 와 화살표 → 를 이용해 함수를 선언하게 된다. // 람다 방식 (매개변수, ... ) -> { 실행문 ... } // 예시 () -> "Hello World!"; 이렇게 람다식은 불필요한 코드를 줄이고, ..
[BOJ] 2573. 빙산 https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 1. 해결방법 BFS로 해결했다. 빙산이 모두 사라질 때를 카운트 해서 출력해야하므로, while문을 사용해서 year 카운트 변수를 루프때마다 +1하는 로직을 구상하였다. 또한, BFS를 돌면서 빙산의 그룹 카운팅을 하고 나서 빙산의 크기를 줄이는 로직을 추가해서 시간 복잡도를 최소한으로 줄였다. 1- 1. BFS 로직 def bfs(y, x): q = deque() q.append((y,..
[JAVA] Singleton 싱글톤 디자인 패턴 1. 싱글톤 패턴 싱글톤(singleton) 패턴이란 객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미한다. 글만 봤을 땐 무슨 의미인지 모를 수 있다. 그래서 코드를 통해 싱글톤 패턴이 무엇인지 볼 것이다. public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { // 생성자는 외부에서 호출못하게 private 으로 지정해야 한다. } public static Singleton getInstance() { return instance; } public void say() { System.out.println("hi, there"); } } 위 코드에서 특이한 부분이 있을 것이다. ..
[BOJ] 9205. 맥주 마시면서 걸어가기 https://www.acmicpc.net/problem/9205 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net 1. 해결방법 맥주가 20병 있다고 한다. 50미터 이동할 때마다 맥주 한병씩은 꼭 마셔야 하는데, 여기서 맥주의 개수를 카운트 하기 보다는 맥주를 못마시게 될 경우와 맥주를 마시면서 페스티벌에 도착하는 경우만 생각하면 되기 때문에 맥주 50미터당 맥주 20병을 다 마실 수 있는 거리인 1000미터를 기준으로 해결해야 한다. 1000미터가 키 포인트 이다. 집에서 편의점까지의 거리를 구한 다..
[SSAFY] 9기 웰컴 키트 WELCOME KIT 언박싱 반갑습니다! 현재 자바로 뚜들겨 맞고 있는 싸피 9기 부울경 캠퍼스의 츄르 입니다! 지금 공부를 해야하는데, 웰컴 키트 언박싱을 위해 티스토리에 들어와있어요 !! 제발 제발 피자 먹고 싶어요ㅠㅜㅠㅜㅠ 올해 9기 부터는 전면 오프라인 수업으로 진행돼요 !! 당연히 입학식도 오프라인으로 진행하였구요 ... 입학식 당일 캠퍼스에 도착하니까 자기 책상에 거대한 웰컴 키트가 떡 하니 놓아져있더라구요 ㅎㅎ,, 일단 받았으니 언박싱 안해볼 수가 없겠죠?? 일단 상자 패키징이 너무 이뻐요 !! 싸피는 교육은 엄청 힘들지만, 소소한 행복을 주는 듯 해요! 상자를 열어보면 ..? 일단 웰컴 키트 구성품으로는 후드티, 티셔츠, 그리고 에코백, 텀블러, 셀카봉..? 이렇게 있습니다 !!!!!!! 후드티랑 티셔트는 사이즈 10..
[BOJ] 7569. 토마토 https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 1. 해결방법 BFS 문제인것은 보자마자 알 것이다. 다만 특징은 3차원이라는 것이다. 어떻게 할까? map을 이용해서 2차원 배열을 만들고, 그것을 높이(H) 만큼 다시 for문으로 받으면 된다. 1. x, y, z방향의 디폴트 값을 설정 2. 시작하기 전 익은 토마토 위치 값을 q에 append 3. bfs를 돌면서 토마토가 익으면 day + 1하고 q.append 4...
[SWEA] D3. Sum (JAVA) https://swexpertacademy.com/main/talk/solvingClub/problemView.do?solveclubId=AYUu1hG6O44DFARs&contestProbId=AV13_BWKACUCFAYh&probBoxId=AYUyLam6ojkDFARs&type=PROBLEM&problemBoxTitle=%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98+Track+%28%EB%82%9C%EC%9D%B4%EB%8F%84+%EC%A4%91%29&problemBoxCnt=5 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 해결방법 그냥 Math.max로 행, 열, 대각선의 합을..