728x90

전체 글 108

[백준 브론즈2] 이진수 변환.py

https://www.acmicpc.net/problem/10829 10829번: 이진수 변환 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000) www.acmicpc.net 자연수 N이 주어진다. N을 이진수로 바꿔서 출력하는 프로그램을 작성하면 되는 문제이다. 입출력의 예는 다음과 같다. 예제 입력 1 53 예제 출력 1 110101 파이썬에는 내장함수로 이진수 변환함수가 있다. 이를 이용할 것이다. bin() 함수를 이용하면 이진수변환이 가능하다. 대신 ob + 이진수 형태이기 때문에 앞의 ob는 떼어내고 리턴한다. N = int(input()) print(bin(N)[2:])

카테고리 없음 2022.04.15

[프로그래머스 lv 2] 더 맵게.java

https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만든다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수..

알고리즘 2022.04.14

[프로그래머스 lv 2] 프린터.py

https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 중요도까지 고려해서 문서를 출력하는 프린터가 있다. 해당 프린터는 아래의 로직대로 작업을 수행한다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 현재 대기목록에 있는 문서의 중요도가..

알고리즘 2022.04.13

14주차 정리(4/4~4/8)

파이썬 분석 시작한 주차다. 파이썬으로 분석하던거 다 까먹고 새로 하려니까 여간 힘든 것이 아니다. 언젠가 부터 정리 글이 일기가 되어버렸는데.. 뭐 이것도 나름대로 괜찮지 않을까 아나콘다를 설치하고 주피터 노트북으로 분석 공부를 시작했다. Beautiful Soup나 pandas 등등 분명 작년에 수업도 듣고 코드도 짜봤는데 왜이렇게 낯설게 다가오는 지 모르겠다. 첫 날 주피터 노트북 실행 단축키도 잊어버린 것에 대해 당황스러웠다. 1주일 동안 계속 파이썬만 하려니까 자바를 잊을 것 같아 무섭다. 빠른 시일 내에 스프링 프로젝트 시작해야지. 스타벅스 매장 정보 데이터나 야구 선수 데이터 등 실제로 웹페이지에서 제공하는 정보들을 크롤링으로 가져와 실습에 이용하는 중인데, 크롤링과 분석을 한 큐에 진행하고..

[Spring Boot] 스프링 부트 개념 정리

🌱Spring Boot란?🌱 스프링을 더 쉽게 이용하기 위한 도구 여기서 spring은 자바 기반의 웹 어플리케이션을 만들 수 있는 프레임워크 의존성 주입이나 제어의 역전 등 결합도를 낮추는 방식으로 어플리케이션을 개발할 수 있다는 것의 스프링의 큰 특징 단순 spring 프레임워크를 더 쉽게 이용할 수 있도록 후속작처럼 나온 제품이 Spring Boot! ✨Spring Boot의 장점과 특징✨ ✔ 기존 spring의 단점(혹은 번거로움들) 과거의 spring 프레임워크는 xml로 설정해야 했음(3.1버전 이후로는 자바만으로 설정 가능해짐) 외장 톰캣에 WAR 파일을 만들어 배포해야 했음 설정이 필요한 부분들을 직접! 구성해야 했음 ✔ Spring Boot의 장점 자주 사용되는 라이브러리들의 버전 관리 ..

개인공부/BE 2022.04.11

[프로그래머스 lv 1] 체육복.java

https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 최종적으로 체육수업을 들을 수 있는(체육복이 있는) 학생의 수를 구하면 된다. 여벌 체육복이 있는 학생은 체육복을 도난 맞은 학생에게 빌려줄 수 있는데, 이때 자신의 앞, 뒤 번호를 가진 학생에게만 빌려줄 수 있다. (여벌 체육복이 있는 학생이 도둑맞았다면 다른 학생에게 빌려줄 수 없다.) 입출력의 예는 다음과 같다. n lost reserve return 5 [..

알고리즘 2022.04.08

[자료구조] 탐욕법 (그리디 알고리즘 - Greedy algorithm)

💛 탐욕법이란? 현재 상황에서 가장 좋은 선택을 고르는 알고리즘 이전에 살펴본 동적 프로그래밍을 간단한 문제 해결에 사용하면 지나치게 일을 많이 한다는 문제점을 해결하기 위해 등장했다. 지나치게 일을 많이 하는 경우를 방지해주긴 하지만, 항상 최적해를 보장하는 동적 프로그래밍에 비해 탐욕법은 항상 최적의 해를 보장하지는 않는다. 위의 간단한 트리를 보면서 탐욕법으로 구한 해와 동적 프로그래밍으로 구한 해가 어떻게 다른지 알아보자 루트 노드에서 시작해서 지나친 모든 노드의 수를 더했을 때 가장 결과 값이 큰 경로를 구한다고 하면 노란색의 노드를 지나가는 경로가 탐욕법으로 구한 결과이고 연두색의 노드를 지나가는 경로가 동적 계획법으로 구한 결과 이다. 이처럼 탐욕법은 현재 시점에서 하는 선택만을 고려하기 때..

알고리즘 2022.04.07

[프로그래머스 lv 3] 가장 먼 노드.py

https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr n개의 노드가 있는 그래프가 있다. 각 노드는 1번 부터 n번 까지 번호가 부여되어 있다. 1번 노드에서 가장 멀리 떨어진 노드의 개수를 구하면 되는 문제이다. 이때 가장 멀리 떨어지는 노드는 최단 경로로 해당 노드까지 이동했을 때 간선의 개수가 가장 많은 노드를 의미한다. 입출력의 예는 다음과 같다. n vertex return 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]..

알고리즘 2022.04.06

[고양이와 책을] 프로젝트 결과 정리

무려 작년 12월(11월말쯤) 부터 시작한 사이드 프로젝트가 드디어 끝났다. 그동안 좀 루즈하게 진행되기도 해서 4월에서야 끝이 났다. 프로젝트의 주제 키워드로 책을 검색하고 그 중 선택한 책에 대해서 서평을 작성할 수 있는 사이트 이후 작성한 서평을 목록 형태로 관리할 수 있다. 사용한 기술 우선 프론트로 React, 백엔드로 Django를 사용했다. 또한 책 검색 API로 카카오 검색 open API를 사용했으며, 서버 배포르 위해 GCP의 conpute instance를 사용했다. 기능 목록 * 회원 관련 기능 (회원가입 / 로그인 / 회원 정보관리) * 검색 관련 기능 (키워드로 책 검색 - 랜덤으로 5개의 결과가 나옴) * 서평 관련 기능 (서평 작성, 수정, 삭제, 상세보기 및 목록 보기 기능..

[자료구조] 다익스트라

다익스트라 알고리즘(Dijkstra algorithm)이란? 다익스트라 알고리즘은 가중치 그래프에서 SP(최단경로) 문제를 해결하기 위해 등장한 알고리즘이다. 최단경로 문제는 두 정점을 연결하는 여러 경로들 중에서 간선들의 가중치 합이 최소가 되는 경로를 찾는 문제로, 다익스트라 알고리즘은 SP문제중 Single Source SP(시작정점 v에서 다른 모든 정점까지의 최단 경로 찾기)를 해결하기 위한 알고리즘이다. (단, 음수 간선에 대해서는 성립하지 않는다.) 문제 해결을 위한 기초 생각 시작 노드 정하기 시작 노드에서 가장 가까운 노드를 계속 탐욕적으로 선택 이미 찾은 최단경로에 그 가까운 노드를 더함 더 꼼꼼히 생각해보기 3번과 같이 생각하다보면 한 노드에 접근 할 수있는 엣지가 많을 경우에는 어떤..

알고리즘 2022.04.04
728x90
반응형