분류 전체보기

알고리즘/구현

백준 - 22234 가희와 은행

문제 https://www.acmicpc.net/problem/22234 22234번: 가희와 은행 가희는 창구가 하나인 은행을 운영하고 있습니다. 가희의 은행이 영업을 시작했을 때, 대기 줄에는 손님이 N명 있습니다. [그림 1] 카운터 직원과 N명의 손님 x번 손님에 대한 정보는 x번 손님의 www.acmicpc.net 1초마다 현재 처리하고 있는 고객의 id를 출력하는 문제였다. 손님들은 순서대로 줄을 서 있으며 한 번에 한 손님에게 할당할 수 있는 시간이 정해져있다. 할당된 시간이 끝나면 시간이 남은 손님일 경우에는 줄의 맨 뒤로 간다. 문제 풀이 queue를 이용해 풀 수 있었는데, 이때 queue에 넣는 순서가 중요하다. 영업 이후에 들어온 손님은 들어온 시간까지 알아야 하기 때문에 구조체를 ..

알고리즘/DFS BSF

백준 - 23747 와드

문제 https://www.acmicpc.net/problem/23747 23747번: 와드 와드를 설치하지는 않았지만, 한별이의 최종 위치의 위, 아래, 왼쪽, 오른쪽 칸은 시야로 확보하고 있다. 지나온 경로를 모두 시야로 확보하지는 않는다. www.acmicpc.net 여행 기록을 입력받아 맵에서 이동하고, 기록이 W일 경우에 같은 구역의 시야를 밝힌 후 모든 여행이 끝난 후의 맵의 시야를 출력하는 문제였다. 문제 풀이 입력받은 방향대로 이동하다가 W가 나오면 dfs를 호출해 같은 구역(같은 문자)인 곳을 탐색해줬다. 마지막에 이동한 곳과 그 위치의 상하좌우까지 방문처리 해준 후, isVisit 값이 true면 .을 false면 #을 출력했다. #define _CRT_SECURE_NO_WARNINGS..

알고리즘

백준 - 17478 재귀함수가 뭔가요?

문제 https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 재귀함수를 이용해 출력하는 문제였다. 문제 이런 문제는 좀 킹받는다 출력을 잘 살피면서 풀어야겠다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exce..

알고리즘/그리디

SWEA - 1289 원재의 메모리 복구하기

문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV19AcoKI9sCFAZN SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 모든 bit가 0인 초기화 상태에서 입력값으로 주어진 상태로 만들기 위해 고쳐야 하는 최소 횟수를 구하는 문제였다. 문제 풀이 단순히 0의 값과 1의 값을 구해 더 적은 횟수가 정답인 줄 알았는데, 현재 bit를 변경하면 현재 위치부터 맨 끝까지 해당 bit로 덮어씌워지는 문제였다. 현재 값을 초기 상태인 0으로 지정하고, 메모리 bit의 맨 앞부터 순회하면서 다른 수가 나오면 다음 수로 변경..

알고리즘/DFS BSF

백준 - 13265 색칠하기

문제 https://www.acmicpc.net/problem/13265 13265번: 색칠하기 각 테스트 케이스에 대해서 possible 이나 impossible 을 출력한다. 2 가지 색상으로 색칠이 가능하면 possible. 불가능하면 impossible 이다. www.acmicpc.net 그래프를 2가지 색으로 색칠하는 문제였는데, 서로 연결된 두 노드를 다른 색으로 칠할 수 있는지의 여부를 구하는 문제였다. 문제 풀이 그래프를 만들고 dfs로 모든 노드를 탐색하면서 색을 바꿔주면서 풀었다. dfs 현재 노드가 아직 색칠이 되지 않았으면 1로 색칠해준다. 현재 노드와 연결된 노드들을 탐색한다 다음 노드의 색이 없으면 방문 전이기 때문에 현재 노드 색과 다른 색으로 칠해주고 방문한다. 다음 노드의 ..

알고리즘/그리디

백준 - 14629 숫자 조각

문제 https://www.acmicpc.net/problem/14629 14629번: 숫자 조각 곧 7살을 맞이하는 준하는 유치원에서 숫자가 적힌 나무 조각들을 가지고 노는 것을 좋아한다. 숫자 조각은 총 10개이며, 각각의 조각엔 0부터 9까지의 숫자가 한 숫자씩 적혀있다. 준하는 각 숫 www.acmicpc.net 준하가 수포자가 되지 않도록 0~9까지의 숫자를 한 번만 사용해 입력받은 숫자 N과 가장 차이가 적은 숫자를 구하는 문제였다. 문제 풀이 그리디로 풀면 될 것 같아서 그리디로 풀었다. 근데 백트래킹으로 푸는게 정신 건강에 더 좋을 것 같다. 처음에는 long long으로 N을 입력받고, int 배열에 각 자리를 저장해줬었다. 문제를 풀다가 string으로 받게 하는게 더 간단한 것 같아서..

java

static, static final - static 초기화

static 변수를 분명 100으로 초기화해줬는데, 0이 되는 문제가 발생했다!! class BookManagerImpl{ private static int MAX_SIZE = 100; private BookManagerImpl() { System.out.println(MAX_SIZE); //this.MAX_SIZE = 100; //System.out.println(MAX_SIZE); this.books = new Book[MAX_SIZE]; this.size = 0; } } 생성자에서 찍어 보니 처음에 0, 100으로 다시 초기화하니 100으로 찍혔다. 대체 왜 이런 일이 발생했을지 궁금해서 static, static final, final, 아무 필드 없이 만들어봤다. none : 100으로 초기화됨..

알고리즘/DFS BSF

프로그래머스 - 도넛과 막대 그래프

문제 https://school.programmers.co.kr/learn/courses/30/lessons/258711 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 그래프에 있는 도넛, 막대, 8자 그래프의 개수를 구하는 문제였다. 문제 풀이 사실 카카오 코딩테스트를 풀 때 이 문제는 시간이 없어서 덜 푼 문제였었다. 그때도 진입 노드를 저장해 진입 개수가 0인 곳이 root라고 생각은 했었는데, 풀다가 시간이 다 가버렸다.. 먼저 edges를 돌며 그래프를 만들고, 그래프를 만들면서 in에 각 노드의 진입 개수를 저장했다. 처음에는 진입 노드가 0이..

hahihi
'분류 전체보기' 카테고리의 글 목록 (5 Page)