분류 전체보기 109

[프로그래머스] LV.3 숫자게임 / 파이썬(Python)

📜 문제 설명 xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. 먼저 모든 사원이 무작위로 자연수를 하나씩 부여받습니다. 각 사원은 딱 한 번씩 경기를 합니다. 각 경기당 A팀에서 한 사원이, B팀에서 한 사원이 나와 서로의 수를 공개합니다. 그때 숫자가 큰 쪽이 승리하게 되고, 승리한 사원이 속한 팀은 승점을 1점 얻게 됩니다. 만약 숫자가 같다면 누구도 승점을 얻지 않습니다. 전체 사원들은 우선 무작위로 자연수를 하나씩 부여받았습니다. 그다음 A팀은 빠르게 출전순서를 정했고 자신들의 출전 순서를 B팀에게 공개해버렸습니다. B팀은 그것을 보고 자신들의 최종 승점을 가장 높이는 방법으..

[Algo] BFS(너비 우선 탐색)

📌 1. BFS 기본 개념 BFS는 그래프를 탐색하는 대표적 방법 중 하나로 너비를 우선으로 하는 탐색법으로 Breadth First Search를 의미한다. BFS는 탐색 시작점으로부터 인접한 정점들을 우선으로 차례로 방문하고 방문했던 정점을 시작점으로 하여 다시 해당 정점으로부터 인접한 정점들을 차례로 방문하는 방식이다. 인접한 정점부터 차례대로 모든 정점을 방문하기 때문에 선입선출(FIFO)구조인 큐를 활용하여 코드화할 수 있다. BFS를 활용하여 가까운 곳 부터 먼 곳 순서로 탐색하기 때문에 특정 정점까지 가는 최단거리를 구하는데 용이하다. 📌 2. BFS 코드로 나타내기 def BFS(G, v): # 방문 여부를 확인하기 위한 리스트 visited = [0] * n # 정점들을 차례로 방문하기 ..

[Spring Boot] Spring Boot 프로젝트 환경 설정 & 기초 개념

스프링 부트란? 스프링 부트는 오픈 소스 자바 프레임워크로 기존 스프링에 톰캣 서버를 내장하고 여러 편의 기능이 추가되어 있다. 서버가 내장되어 있어 빠르고 편리하게 설정할 수 있기 때문에 개발자에게 “Micro Service”를 구현할 수 있도록 도와준다. Micro Service는 각 과정이 가볍고 간단해서 개발자가 개발과 배포를 독립적으로 쉽게 할 수 있도록 해주는 개념이다. 스프링 부트 시작하기 스프링 부트를 잘 다룰 수 있는 실력자라면 직접 프로젝트를 설정 & 생성해도 되겠지만 나같은 꿈나무들을 위해서 쉽게 프로젝트를 생성할 수 있도록 도와주는 스타터 사이트가 있다. 아래 링크로 접근해서 간단하게 원하는 프로젝트 속성을 선택한 다음 하단 GENERATE 버튼만 클릭하면 스프링 부트 프로젝트가 생..

💻 IT/Spring 2022.09.23

[Algo] Greedy Algorithm(그리디 알고리즘)

📌 1. Greedy Algorithm ? 그리디 알고리즘? “A greedy algorithm is an algorithm that shortcuts a full analysis in order to choose quickly an option that appears to work in the situation immediately at hand. They are often used by humans.” - Kim Stanley Robinson Greedy 알고리즘, a.k.a 탐욕 알고리즘 그리디 알고리즘은 다소 단순하게 미래를 내다보지 않고 당장 눈 앞에 보이는 최적의 선택을 하는 방식이다. 목표를 달성하기 위해 매 순간 탐욕적인 선택을 한다. 순간순간 유리한 선택을 하면 되니까 간단하고 빠르다는 ..

[DataBase]데이터베이스 생성하기 & 테이블 추가하기

📌 1. 데이터베이스 생성하기 데이터를 조회하고 수정하고 생성하고 삭제하고 등등 모든 작업을 위해서 제에에에에에일 먼저 태초에 필요한 작업! 데이터베이스를 생성하고 테이블 생성하기이다. USE sample_database; 데이터베이스 신규 생성을 위해서는 간단히 CREATE 구문을 사용하면 된다. 이 때 같은 이름의 데이터베이스를 중복으로 생성하면 에러가 발생한다. 에러를 방지하기 위해 IF NOT EXISTS 구문을 사용하면 해당 데이터베이스가 없을 때만 생성된다. -- CREATE DATABASE 데이터베이스의 이름 CREATE DATABASE sample_database; -- 존재하지 않을 경우 해당 이름의 데이터베이스 생성 CREATE DATABASE IF NOT EXISTS sample_da..

[Git] Git이란?

📌1. Git이 뭐지? 코드 버전 관리 시스템으로 파일의 변화를 시간에 따라 저장했다가 나중에 특정 시점에 확인해볼 수 있도록 하는 것. 버전 관리가 왜 필요할까? 지난 과정 확인 가능 (누가누가 빌런인가) 이전 버전으로 돌아갈 수 있음 → 개인적으로 이게 아주 중요한 것 같다. 사람이기 때문에 실수로 에러 잔뜩 나는 상태로 커밋한다면 그냥 버전을 되돌리는게 빠르다. 동시 협업을 가능하게 해주는 툴 → 여러 명의 개발자가 작업한 내역을 쉽게 취합할 수 있음 (물론 여러 명이 같은 파일에 중복 작업을 하게 되면 conflict을 잘 잡아야 한다. 안 쉬움..) 📌2. Git의 역사 깃의 창시자는 유닉스를 만든 리누스 토발즈(Linus Torvalds)이다. 깃의 당시 제작 목표는 속도가 빠르고 디자인은 단..

💻 IT/GIT 2022.09.13

sun.misc.floatingdecimal.readjavaformatstring 해결법

sun.misc.floatingdecimal.readjavaformatstring(floatingdecimal.java:2043) java.lang.NumberFormatException 해결법 MyBatis에서는 쿼리 내에 if 태그가 빈번히 사용된다. 아래의 형태로 'param' 이라는 변수명이 null값이 아니고 ' ' 값이 아닐 경우에 if 태그 사이의 조건절을 실행하는 것이다. AND param = #{param} 화면에서 검색을 실행할 때 검색 조건에 빈번하게 사용되는 태그이다. 검색조건은 입력할 수도 있고 안할 수도 있으니까 null값 혹은 공백 값이 아닌지 확인한 후 조건절을 덧붙인다. 그런데 오늘 이제는 눈 깜고도 쓸 만큼 자주 쓴 if 태그 때문에 에러가 발생했다. 특정 변수의 공백 값..

반응형