본문 바로가기

전체 글94

[백준] 1260번 DFS와 BFS 자바 문제 (실버2) 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 문제 풀이 이 문제는 진짜 제목 그대로 DFS와 BFS를 직접 구현해보는 문제이다. 코딩테스트 연습을 하다보면 자주 접하게 되는 개념이지만, 어려워서 항상 코드를 보고 풀었다. 이번 기회에 DFS와 BFS개념을 확실히 다지고자 풀게되었다. 이번 기회에 개념 꼭 다지고 넘어가야지! 우선 DFS알고리즘은 깊이 우선 탐색으로 스택을 이용하는 방법과 재귀함수를 이용하는 방법 두가지가 있는데, 대부분 재귀함수를 이용하.. 2021. 11. 17.
[프로그래머스] 괄호 변환 자바 문제 https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 문제 풀이 문제에 제시된 변환 알고리즘을 하나씩 구현하다 보면 됨 소스 코드 class Solution { public static String solution(String p) { String u = "", v = ""; int a = 0, b = 0; String[] arr = p.split(""); if(p.equals("")) return ""; fo.. 2021. 11. 7.
[프로그래머스] 크레인 인형뽑기 게임 자바 문제 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 문제풀이 소스코드 import java.util.Stack; class Solution { public int solution(int[][] board, int[] moves) { int answer = 0; int board_top; Stack stack = new Stack(); for(int i = 0; i < moves.length; i++){ for(int j = 0; j < board.length; j++){ board_top = board[j][moves[i]-1]; b.. 2021. 11. 7.
[Python #5] Class, Module, Package Class : 클래스란 관련된 '속성'과 '동작'을 하나의 범주로 묶어 실세계의 사물을 흉내낸 것 - 객체지향의 가장 기본적인 개념이 클래스 - 스크립트 언어는 원래 가볍게 쓰는 것이 주목적이라 객체지향을 지원하는 경우가 드물지만 파이썬은 스크립트 언어임에도 클래스 정의, 연산자 오버로딩, 다중상속을 지원한다. (하지만 진짜 객체지향언어에 비해 형식성이 떨이지고 기능도 많이 부족) - 사물을 분석하여 필요한 속성과 동작을 추출 -> 모델링 - 모델링된 결과를 클래스로 포장하는 것 -> 캡슐화 - 아래 코드예제는 계좌라는 실세계의 사물(Object)를 표현하는 하나의 묶음 : 연관된 정보는 한 곳에 모여있어야 관리가 용이 balance = 8000# 잔액 def deposit(money):# 입출금 동작 .. 2021. 10. 31.
[프로그래머스] 프린터 자바 문제 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 문제풀이 소스코드 class Solution { public int solution(int[] priorities, int location) { int[] moveIndex = new int[priorities.length]; int current = 0, temp = 0, m_temp = 0; boolean isExist = false; //초기 대기열의 인덱스 대입 for(int i = 0; i < priorities.length; i++) moveInde.. 2021. 10. 26.
[Python #5] Dictionary, Set, Collection Dictionary (사전) - Dictionary : 키와 값의 쌍을 저장하는 대용량의 자료구조 * 해시 알고리즘을 사용하여 일대일로 대응되는 특성이 있으므로 자바의 HashMap이랑 비슷 * 파이썬에서는 내장되어 있으므로 라이브러리 없이 언제든지 사용 가능 * 사전을 정의할 때 { }괄호 안에 '키:값' 형태로 콤마로 구분하여 나열 * 사전은 빠른 검색을 위해 해쉬를 이용한 키로부터 저장 위치를 결정 * 최대한 찾기 쉬운위치에 저장하므로 생성 시의 순서를 유지하지 않지만 검색 속도가 빠름 * 키 : 값을 찾는 기준으로 고유의 값을 가지고 변경이 불가능 -> 튜플을 키로 쓸 수 있지만 리스트는 키로 쓸 수 없다! * 값 : 자유롭게 변경이 가능 - 사전 예시 dic = {'boy' : '소년', 'gi.. 2021. 10. 10.