전체 글 (328) 썸네일형 리스트형 [백준] 17825번 : 주사위 17825번: 주사위 윷놀이 17825번: 주사위 윷놀이 주사위 윷놀이는 다음과 같은 게임판에서 하는 게임이다. 처음에는 시작 칸에 말 4개가 있다. 말은 게임판에 그려진 화살표의 방향대로만 이동할 수 있다. 말이 파란색 칸에서 이동을 시작하면 www.acmicpc.net 🤔 문제분석 그래프와 점수의 판을 하드코딩으로 그려놓고 파란색 판을 이동하는 조건을 걸어 문제를 해결 할 수 있습니다. 파란색칸은 배열의 길이가 2인경우이고 해당 배열로 이동할경우 그래프에 그려놓은 위치로 이동시킵니다. 이제 위의 조건으로 백트래킹을 이용하여 문제를 해결하면 끝입니다. 💻 코드 import sys input = sys.stdin.readline graph = [[1], [2], [3], [4], [5], [6, 21],.. [백준] 4803번 : 트리 4803번: 트리 4803번: 트리 입력으로 주어진 그래프에 트리가 없다면 "No trees."를, 한 개라면 "There is one tree."를, T개(T > 1)라면 "A forest of T trees."를 테스트 케이스 번호와 함께 출력한다. www.acmicpc.net 🤔 문제분석 특정 노드로 부터 시작하여 사이클이 존재하는지 확인하면 된다. 방문 체크 배열을 두어 사이클이 발생했었던 노드는 다시 방문하지 않는다. 사이클이 발생하는 유무는 너비우선탐색으로 찾아내었는데, 입력받은 간선을 계속 따라가 가면서 방문했던 노드를 또다시 방문했다면 사이클이 발생한 것이다. 💻 코드 import sys from collections import deque input = sys.stdin.readline .. [백준] 16120번 : PPAP 16120번: PPAP 16120번: PPAP 첫 번째 줄에 문자열이 주어진다. 문자열은 대문자 알파벳 P와 A로만 이루어져 있으며, 문자열의 길이는 1 이상 1,000,000 이하이다. www.acmicpc.net 🤔 문제분석 스택자료구조와 P의 개수와 C의 개수를 카운팅하여 조건부 연산을 통하여 PPAP를 만들 수 있는지 확인합니다. P를 만나면 p_count를 증가시키고 C를 만나면 c_count를 증가시킵니다. 이전에 값이 C이고 그다음이 P가 나올경우 p_count의 PPAP를 만들 수 있는지 카운팅을 하고 p_count값을 -2 감소 c_count값을 -1을 감소시킵니다. 이렇게 해서 최종 p_count값이 1이 나온경우만 정답이 됩니다. 마지막에 PPAP → P로 변하기 때문이다. 💻 코드 .. [Java Spring] @Bean vs @Compoent 머리말Spring 프레임워크 AOP를 공부중에 Compoent와 Bean과의 차이가 뭔지 궁금하게 되어서 내용을 정리하는 시간을 갖고자 글을 작성하게 되었습니다.@BEAN주로 @Confiuration 어노테이션이 들어간 Spring을 설정하는 클래스 내에 들어가는 메소드에서 선언한다.@Bean의 경우 보통은 외부 라이브러리를 사용해서 등록하고자 할때 사용합니다. 예를들면 ObejctMapper의 경우 ObjectMapper Class에 @Compoent를 선언 할수는 없으니 ObjectMapper의 인스턴스를 생성하는 메소드를 만들고 해당 메소드에 @Bean을 선언하여 Bean으로 등록한다.ModelMapper를 사용하게 되어서 아래와 같이 ModelMapper를 Bean에 등록하였습니다. 😊@Confi.. [Java] 자료구조 배열고정 크기 이상의 객체를 관리 할 수 없다.배열의 중간에 객체가 삭제되면 응용 프로그램에서 자리를 옮겨야한다.컬랙션가변 크기로 객체의 개수를 염려할 필요 없다.컬랙션 내의 한 객체가 삭제되면 컬랙션이 자동으로 자리를 옮겨준다.컬랙션을 구현한 클래스들Java.util 패키지는 컬랙션의 개념을 구현한 핵심적인 다양한 클래스를 제공한다.VectorArrayListHashTableHashMapLinkedList 등[참고] 컬랙션을 구현한 모든 클래스들은 Object를 상속받는 객체들만 요소로 받아들인다. 즉, byte, char short, int, long, float, boudle boolean 등 8 종류의 기본 타입은 원칙적으로 사용할 수 없다. Vector vs ArrayList공통점List 인터페.. [백준] 13975번 : 파일 합치기 3 13975번: 파일 합치기 3 13975번: 파일 합치기 3 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T개의 테스트 데이터로 이루어져 있는데, T는 입력의 맨 첫 줄에 주어진다.각 테스트 데이터는 두 개의 행으로 주어지는데, www.acmicpc.net 🤔 문제분석 우선순위큐를 활용하여 가장 작은 파일부터 합쳐나아가는 문제입니다. 가장 작은 파일끼리 합쳐야 합의 가중치가 낮기때문입니다. 💻 코드 import sys import heapq input = sys.stdin.readline T = int(input()) for _ in range(T): K = int(input()) queue = [] for file in list(map(int, input().split())): h.. [백준] 16724번 : 피리부는사나이 16724번: 피리 부는 사나이 16724번: 피리 부는 사나이 첫 번째 줄에 지도의 행의 수를 나타내는 N(1 ≤ N ≤ 1,000)과 지도의 열의 수를 나타내는 M(1 ≤ M ≤ 1,000)이 주어진다. 두 번째 줄부터 N개의 줄에 지도의 정보를 나타내는 길이가 M인 문자열이 주 www.acmicpc.net 🤔 문제분석 서로소 집합을 활용하여 문제를 해결하였습니다. 사이클이 생기는 집합을 만들고, 그 집합의 총 개수를 구하면 됩니다. 사이클이 생기는 그룹의 집합안에서 어느한곳이 막힌다면 움직이지 못하기 때문입니다. 유니온-파인드로 사이클을 모두 하나의 집합으로 만들어주고 그 집합의 개수를 새면 됩니다. 💻 코드 import sys input = sys.stdin.readline N, M = map(i.. [백준] 14725번 : 개미굴 14725번: 개미굴 14725번: 개미굴 첫 번째 줄은 로봇 개미가 각 층을 따라 내려오면서 알게 된 먹이의 정보 개수 N (1 ≤ N ≤ 1000)개가 주어진다. 두 번째 줄부터 N+1 번째 줄까지, 각 줄의 시작은 로봇 개미 한마리가 보내준 먹이 정 www.acmicpc.net 🤔 문제분석 입력값을 알파벳 순으로 정렬을 하고, 정렬한 데이터를 순회하면서 경로를 기준으로 방문처리를 하여 문제를 해결하였습니다. 이미 방문한 경로가 있다면 그 경로는 무시 하도록 하면 됩니다. 💻 코드 import sys input = sys.stdin.readline visited = set() N = int(input()) ants_route = [] for _ in range(N): temp = list(map(st.. 이전 1 ··· 7 8 9 10 11 12 13 ··· 41 다음