전체 글 53

Error : unknown command cask

MAC에서 openJDK를 설치하기 위해 brew cast install java 명령을 내렸을때 cask를 찾을 수 없는 명령이라고 나올때 & brew cask install java Error: Unknown command: cask 아래와 같은 명령을 입력한다 brew install --cask adoptopenjdk8 혹시, 아래의 예시처럼 여러 openjdk가 있다는 메시지가 나오면 Error: Cask adoptopenjdk8 exists in multiple taps: homebrew/cask-versions/adoptopenjdk8 adoptopenjdk/openjdk/adoptopenjdk8 설치하고자 하는 버전을 명시해서 설치한다 brew install --cask adoptopenjd..

맥에서 이클립스 자동완성키(Contents Assist) 설정하기

맥(Mac)에서 이클립스(Eclipse) 의 자동완성으로 쓰는 Control + Space 단축키는 맥의 Spotlisht 단축키로 이미 설정되어 있다. 따라서 자동완성 단축키인 Control + Space를 사용할 수가 없다. 이때 Spotlight 단축키를 변경하거나 Eclipse의 자동 완성 단축키를 변경하면 된다. 1. Spotlight 단축키 변경 System Preferences 를 실행하면 아래와 같은 창이 뜸 Spotlight를 선택함 Keyboard Shortcuts 선택 Show Spotlight search를 선택해서 단축키를 변경함 나의 경우 option + space로 변경함 2. Eclipse 단축키 변경 Preferences를 선택함 General > Keys > Content..

[SWEA] 1859.백만장자 프로젝트 - python

이 문제는 N(2 ≤ N ≤ 1,000,000)이라는 것을 생각하고 풀어야 하는 문제이다. 문제를 해결하려고 가장 첫번째로 생각나는 방법은 아마도 현시점에서 매수를 하고 현재 시점에서 부터 끝까지 탐색해서 그중 최고값을 찾아 이익을 얻는 것일 것이다. 하지만 이방법으로 문제를 풀려고 한다면, 2중 for문이 필요하고 N^2의 시간복잡도를 가지게 된다. 주어진 테스트 케이스를 해결하더라도 N이 커질 경우 시간초과가 발생할 수 있다. 이때, 뒤에서 부터 순회하는 방법을 사용하면 위의 문제를 해결할 수 있다. 뒤에서 부터 순회를 하면서 현시점 (현위치)에서 부터 끝까지 중 최고치를 알아낼 수 있고, 현시점의 매매가 보다 최고 값이 높으면 매수하고 최고치에 팔면 이득을 얻어 낼 수 있다. 설명한 내용을 간단히 ..

알고리즘/SWEA 2021.02.25

[SWEA] 5250. [파이썬 S/W 문제해결 구현] 7일차 - 최소 비용

문제풀이 2차원 배열의 특정 위치에서 부터 인접 좌표들로 이동을 하면서 최소비용을 구하는 문제 가중치가 없다면 단순 bfs로 해결할 수 있음. 문제에서는 현재좌표의 높이와 새로운 좌표의 높이 차이가 있다면 ( 새로운 좌표가 높다면) 그 높이 만큼을 가중치로 계산함 시작점 (0,0)에서 BFS 탐색을 하면서 각 인접 좌표 (상하좌우)에 대해 간선완화를 진행 한 좌표의 상하좌우에 있는 새로운 좌표 계산 각 좌표가 범위내인지 확인 새로운 좌표의 높이가 현재의 높이보다 높다면 그 차이를 가중치로 계산 높이 차이가 없거나 새좌표가 더 낮으면 가중치는 1 (기본 비용) 새로운 좌표의 현재까지의 최소비용(시작점에서 부터의 최소비용)가 현 좌표를 찍고 가는 것 보다 높으면 새로운 비용으로 갱신 새좌표의 최소비용 > 현..

알고리즘/SWEA 2020.11.12

[백준/정올] 2527. 직사각형 / 2568. 직사각형

www.acmicpc.net/problem/2527 2527번: 직사각형 4개의 줄로 이루어져 있다. 각 줄에는 8개의 정수가 하나의 공백을 두고 나타나는데, 첫 4개의 정수는 첫 번째 직사각형을, 나머지 4개의 정수는 두 번째 직사각형을 각각 나타낸다. 단 입력 직 www.acmicpc.net www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1829&sca=9010&stx=%EC%A7%81%EC%82%AC%EA%B0%81%ED%98%95 JUNGOL www.jungol.co.kr 문제 풀이 이 문제는 가능한 경우의 수를 줄여나가면서 원하는 답을 찾아나가는 방법으로 보다 쉽게 해결할 수 있음 입력에서 사각형1(x1,y1,p1,q1)을 기준으로 하고 사각형2(x..

알고리즘/백준 2020.11.11

[백준] 2477. 참외밭 - python

www.acmicpc.net/problem/2477 2477번: 참외밭 첫 번째 줄에 1m^2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1≤K≤20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지나� www.acmicpc.net 입력 변의 방향이 동,서(1,2)일 경우 가로변, 변의 방향이 남,북(3,4)일 경우 세로변임을 알 수 있음. 6각형이고 입력이 순서대로 들어오므로 변의 방향과 길이를 저장하기 위한 2차원 배열을 생성하여 저장함. 문제 풀이 ㄱ자 모양이라는 것에서 아이디어를 얻음 그림과 같이 큰 사각형에서 작은 사각형을 빼면 ㄱ자 도형의 면적을 구할 수 있음 큰 사각형의 면적 주어진 변의 길이중 가장 긴 가로 변, 세로변의 길..

알고리즘/백준 2020.09.23

난 ENFP

지금 이걸 쓰고 있는 것도 ENFP스럽지만 난 ENFPㅋㅋ 인터넷에서 본 글 중에 공감되는거 모아 놓을려구 ㅎㅎ 나는 아니라고 부정하지만 주변에 인싸라는 말 많이 듣고, 가끔은 술자리에서 내가 첨에 분위기 다 주도해서 속으로 ‘아 내가 살짝 인싸가 맞긴 맞나봐..’ 생각이 듬 (어느 순간부터 기 다 빨려서 가만히 있음. 그럼 애들이 취했냐고 물어봐줌) 오히려 활발한 사람이랑 안친할 때가 많음... 활발하긴 한데 나랑 진짜 안맞고 안맞는 옷 입은 것처럼 불편한 사람이 있음. 주변 친구들은 오히려 조용조용하면서 나랑 공감대 쿵짝 잘맞는 친구들 난 내가 엔프피인게 좋아ㅠㅠㅜㅠㅠㅠㅠ ENFP와 INFP의 차이점 ENFP는 자신만의 궁전에 모두를 초대해서 즐겁게 놀지만 정말 친한 사람, 소중한 사람만 궁전 안에 ..

잡다한것 2020.09.17

[python] 재귀(recursion)에 대해서 알아봅시다.

재귀 함수 자기 자신을 호출하는 함수 하나의 함수에서 자신을 다시 호출하여 작업을 수행하는 방식으로 주어진 문제를 푸는 방법 python에서의 기본 재귀 구조는 아래와 같다. 실행결과는 어떻게 될까? 자기자신을 계속 호출하므로, 무한반복에 빠지며 지정된 재귀 깊이를 초과하여 에러가 발생한다. 그렇다면, 무한 루프에 빠지지 않게 하려면 어떻게 해야하는가? 당연하지만 그냥 나 자신을 계속 호출한다면 무한반복이 일어날 것이다. 이 무한한 반복을 우리가 원하는 만큼만 반복하고 중단시키는 것이 우리의 목표다. 우리가 기본적으로 아는 반복문에서와 마찬가지로 반복을 중단시킬 무언가가 필요하다. 즉, 반복을 중단시킬 조건과 그 조건을 체크하기 위한 값을 저장할 변수. 과정을 정리하면 아래와 같다. 매개변수를 하나 받음..

알고리즘 2020.09.16

[python] 코딩테스트 문제에서 입력처리 정리

알고리즘 강의를 하다보면 생각보다 많은 학생들이 입력에서 막혀서 시간을 허비하는 것을 봤다. 이번 기회에 정리해 놓으면 한 분이라도 도움이 될것 같아서 정리해보도록 하겠다!! ^-^ 코딩테스트에서는 대게 input파일이 주어진다. 문제를 풀때 입력을 줘야하는데 가장 간단한 방법은 input 텍스트를 복사해서 프로그램을 실행하고 콘솔창에 붙여넣기 해주는 것이다. 하지만 이 방법은 디버깅시에 귀찮기도 하고, 가끔 발생하는 pycharm 콘솔창 오류를 만나면 난감하다. 이 때, input 파일을 텍스트 파일로 저장하고 바로 읽어서 실행할 수 있도록 설정하면 편하다. 파일로 입력받기 sys 모듈 임포트 표준 입력을 파일/읽기로 설정 import sys #표준입력을 파일로 설정 sys.stdin = open("i..

[백준] 2638. 치즈 - python

https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5≤N, M≤100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 표 www.acmicpc.net 문제풀이 공기와 2변 이상 접촉한 치즈가 사라지는데 치즈가 모두 녹는데 걸리는 시간 구하는 문제 탐색 (bfs) 문제 공기 접촉면이 2인 구역을 찾아야함 : find 함수로 구현 찾은 치즈를 녹이고 녹인 치즈 갯수 알아냄 : melt 함수로 구현 find함수와 melt 함수를 반복해서 실행하고 녹인 치즈가 0개이면 종료하고 그 때 시간을 알아냄 find 함수 0,0 좌표에서 부터 bfs ..

알고리즘/백준 2020.07.28