반응형

전체 글 50

AMD 미니 PC 가성비 BEST 6 (2023년 상반기)

작은 박스형 미니PC의 시초는 Intel의 NUC였다고 생각한다. 그리고 한동안 NUC 프리미엄 제품을 제외한 다른 미니PC들은 모바일 프로세서의 한계 때문에 성능이 떨어지는 게 정설이었다. 그런데 언제부턴가 AMD의 모바일 프로세서와 iGPU가 탑재된 APU 제품의 성능이 놀랍도록 발전했다. 라이젠 프로세서가 탑재된 미니PC는 크기는 작지만 일상적인 업무부터 멀티미디어 편집까지 다양한 작업에 적합하다. AMD에 탑재된 Vega나 RDNA 내장그래픽 칩셋으로 롤 정도는 아주 원활하게 플레이가능하다고 한다. 한편, 내장그래픽은 둘째 치더라도 프로세서 성능만 봐도 상당히 준수하다. 결국 이것이 타워형 데스크탑을 대체할 수도 있겠다는 생각에 이르게 됐다. 시장에는 라이젠 CPU를 탑재한 미니PC가 정말 많다...

Consumer Tech 2023.06.04

[Python 문제 풀이] 프로그래머스 '두 원 사이의 정수 쌍'

Programmers Lv.2 '두 원 사이의 정수 쌍' 파이썬 조건파악 1. 닫힌구간 2. N이 최대 1,000,000이고 내부적으로 sqrt연산이 필요할 것 같다. 따라서 시간복잡도는 최대 O(NlogN)정도 되겠다. 접근 사분면으로 나누어서 하나의 사분면만 생각하자. x또는 y축 하나를 정해서 1부터 r2까지 축이동하며 스캔하면 편하겠다. 피타고라스 정리를 활용 그러고 나서 축 위의 두 원 사이에 위치한 정수의 개수를 세자. 축의 x또는 y좌표가 r1을 넘을 경우 대응되는 치역이 무리수이기 때문에 유효성 검사 장치를 마련하자. 의사코드 i를 1부터 r2까지 1씩 증가시키며 반복 sqrt(r1^2 - i^2)에서 sqrt(r2^2-i^2)까지 정수의 개수를 셈 i가 r1보다 커서 r1^2 - i^2가..

[Python 문제 풀이] 프로그래머스 '무인도 여행'

Programmers Lv.2 '무인도 여행' 파이썬 영역 탐색 -> BFS 조건파악 1. 영역 탐색 2. 탐색하면서 수를 누산해야 함 접근 recursive BFS를 이용. 의사코드 bfs()를 선언 bfs()는 재귀적으로 호출되며, 특정 지점에서 네 방향을 탐색하고 방문처리 유효한 탐색 방향에 대해 다시 bfs() 수행 후 결과들을 합산 bfs를 시작한 지점에서의 결과와 다시 합산하여 return 방문하지 않은 지점을 우선으로 전부 탐색하여 결과를 리스트에 저장 리스트를 정렬. 리스트가 비어있으면 [-1] 구현 import sys sys.setrecursionlimit(10**6) def solution(maps): answer = [] rows = len(maps) cols = len(maps[0]..

[Python 문제 풀이] 프로그래머스 '당구 연습'

Programmers 파이썬 당구 연습 그냥 계산하는 게 빠른 문제 조건파악 1. 공은 절대 겹치지 않는다. 2. 모서리에 부딪히는 경로는 절대 최단 거리가 될 수 없다. (계산해보면 앎) 3. 공이 수직 또는 수평으로 나란히 있는 경우 원쿠션을 성공할 수 없는 경우의 수가 생긴다. 접근 상하좌우로 경우의 수는 네 개. 그냥 네 방향 다 계산해서 제일 작은 거 찾으면 된다. 거리를 계산하기 전에 좌표만 가지고 어떤 벽에 부딪힐 건지 선택할 수 있으면 좋겠는데, 방법을 모르겠다. 그걸 모르고 단순 계산으로 풀어도 시간초과가 나지 않으니 Lv.2이겠지. 의사코드 1. balls배열에 대해 반복 2. 두 공이 나란한지 확인 3. 원쿠션이 발생하도록 네 방향(또는 세 방향)에 부딪혀서 공을 맞추는 거리를 계산 ..

[Python 문제 풀이] 프로그래머스 '연속된 부분 수열의 합'

Programmers Lv.2 연속된 부분 수열의 합 / 파이썬 접근 두 개의 포인터를 놓고 부분 수열의 합을 반복해서 비교하며 위치를 옮기거나 확장한다. 가장 짧은 길이의 부분 수열을 찾기 위해, 더 큰 수가 위치한 뒤쪽 인덱스부터 탐색한다. sequence의 길이가 길기 때문에 sum()함수를 반복해서 사용하면 시간초과가 발생할 수 있으므로 부분합 변수를 만들어 갱신하도록 한다. 의사코드 i와 j를 마지막 인덱스 번호로 초기화 sub_total을 마지막 원소의 값으로 초기화 sub_total이 k와 같아질 때까지 i, j 조정하면서 sub_total을 갱신 sub_total이 k와 같을 때 더 앞쪽에 있는 동일한 부분 수열을 가리키도록 i와 j를 감소 코드 def solution(sequence, k..

Maven 프로젝트 JDK 런타임 버전 설정하기

maven 프로젝트가 빌드되어 실행될 java 런타임 버전을 직접 설정하고 싶다면 다음과 같은 방법을 이용하면 된다. pom.xml 다음 태그 추가하기 .. .. {version} {version} .. .. {version} 대신 원하는 버전을 기입하면 된다. 아래는 jdk 1.8을 사용하고자 하는 상황의 예시이다. 1.8 1.8 VS Code에서 java runtime path가 설정이 안 되거나 혹은 프로젝트가 동작할 java 런타임 환경과 현재 개발환경이 다르다면 위 방법을 통해 해결할 수 있다.

[Python 문제 풀이] 프로그래머스 '과제 진행하기'

Programmers Lv.2 파이썬 '과제 진행하기' 풀이 및 코드그냥 제때제때 하라. 조건파악중요한 조건들 1. plans의 길이는 1,000이며 O(N^2)으로 풀 수 있다. 2. 시간이 hh:mm과 같은 str으로 되어있다. 3. 시작시각은 모두 다르다. 따라서 정렬할 수 있다. 4. 나중에 미뤄진 것부터 다시 처리한다. 따라서 미뤄지면 처리 순서가 뒤집힌다. 5. 24시가 경과됨에 상관 없이 모든 과제는 끝낸다. - 문제에 명시되지 않음 접근마치 pipeline을 설계하는 듯한 문제이다. plans는 FIFO 즉 queue, 중간에 멈춘 과제들은 미뤄놨다가 LIFO(FILO) 즉 stack처럼 처리하면 되겠다. 두 개의 자료를 만들어 놓고 다음으로 처리할 과제는 queue이냐 stack이냐를 정..

[Python 문제 풀이] 프로그래머스 '광물 캐기'

Programmers Lv.2 파이썬 '광물 캐기' 풀이 및 코드마인크래프트..? 게임 설정 상 광물로 곡괭이를 만들 수 있으며, 더 좋은 재료로 만들어진 곡괭이일 수록 광물을 더 쉽게 채굴할 수 있다. 조건파악이 문제는 조건이 매우 중요하다. 1. 광물은 무조건 5개씩 연속으로 캔다. 2. 5개를 채굴할 때마다 곡괭이를 고른다. 어떤 곡괭이를 먼저 쓸 것인가? 순서대로 채굴해야 하기 때문에 minerals를 재정렬하는 것은 불가능하다. 하지만 5개 채굴시마다 곡괭이를 바꾸기 때문에 크기가 5인 청크로 묶는다면 서로 다른 청크는 서로 독립적이기 때문에 정렬을 수행해도 결과에 영향을 주지 않는다! picks는 원소가 3개 뿐이며, dia,iron,stone은 각각 해당 재료로 만들어진 곡괭이의 수를 의미한..

VS Code에서 WAS 실행하기 (Apache Tomcat)

웹개발은 당연히 테스트용 로컬 서버가 필요하다. 흔히 Eclipse, IntelliJ 등과 같은 IDE를 이용해 웹서버를 실행하고 앱 또는 페이지를 배포해 테스트한다. 한편, VS Code에서도 마찬가지로 익스텐션을 이용해 IDE처럼 서버를 실행할 수 있다.  애초에 IDE는 서버를 대체하는 것이 아니라 실행이랑 deploy만 대신해주는 거라 어렵지 않게 할 수 있다. 아무튼 이번 포스팅에서는 VS Code에서 톰캣을 실행하고 페이지를 배포하는 방법을 소개하겠다. 글 순서 필요사항Apache Tomcat 다운로드 Apache Tomcat® - Welcome!The Apache Tomcat® software is an open source implementation of the Jakarta Servlet..

could not resolve org.springframework.boot:spring-boot-gradle-plugin:x.x.x

could not resolve org.springframework.boot:spring-boot-gradle-plugin:x.x.x 스프링부트 이니셜라이저는 물론 IntelliJ에서 스프링 부트를 처음 사용해봤다. 스프링부트 이니셜라이저를 통해 IDE에서 빌드할 때 위와 같은 에러가 발생한다면, 시작부터 아무것도 안되는 것이다. 이럴 땐 아주아주 근본적인 문제일 가능성이 높은 법. Java가 설치되어있나? 스프링이니셜라이저를 생성할 때 선택한 Java의 버전과 동일한 버전에 설치되어 있는가? IDE에서 해당 버전의 Java 런타임이 선택되어 있는가?

반응형