분류 전체보기505 [BOJ] 13398 연속합2 - JAVA 1. 문제 13398번: 연속합 2 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 또, 수열에서 수를 하나 제거할 수 있다. (제거하지 않아도 된다) 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 수를 제거하지 않았을 때의 정답은 12+21인 33이 정답이 된다. 만약, -35를 제거한다.. 코딩테스트/BOJ 2022. 12. 16. [BOJ] 1922 네트워크 연결 - JAVA 1. 문제 1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicpc.net 도현이는 컴퓨터와 컴퓨터를 모두 연결하는 네트워크를 구축하려 한다. 하지만 아쉽게도 허브가 있지 않아 컴퓨터와 컴퓨터를 직접 연결하여야 한다. 그런데 모두가 자료를 공유하기 위해서는 모든 컴퓨터가 연결이 되어 있어야 한다. (a와 b가 연결이 되어 있다는 말은 a에서 b로의 경로가 존재한다는 것을 의미한다. a에서 b를 연결하는 선이 있고, b와 c를 연결하는 선이 있으면 a와 c는 연결이 되어 있다.) 그런데 이왕이면 컴퓨터를 연결하는 비용을 최소로 하여야 컴퓨터를 연결하는 비용 외에 다른 곳에 돈을 더 쓸 수 있을 것이다. 이제 각 컴퓨.. 코딩테스트/BOJ 2022. 12. 16. [BOJ] 18111 마인크래프트 - JAVA 1. 문제 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 땅을 파거나 집을 지을 수 있는 게임이다. 목재를 충분히 모은 lvalue는 집을 짓기로 하였다. 하지만 고르지 않은 땅에는 집을 지을 수 없기 때문에 땅의 높이를 모두 동일하게 만드는 ‘땅 고르기’ 작업을 해야 한다. lvalue는 세로 N, 가로 M 크기의 집.. 코딩테스트/BOJ 2022. 12. 16. [Unity] AR Foundation 개요 1. AR이란? 실제로 존재하는 환경에 가상에 가상의 사물이나 정보를 합성하여 마치 원래의 환경에 존재하는 사물처럼 보이도록 하는 컴퓨터 그래픽 기법 2. AR Foundation Unity 내에서 다중 플랫폼 방식으로 증강 현실 플랫폼을 사용할 수 있는 라이브러리. 공식적으로 지원하는 대상 플랫폼에 대한 별도의 패키지가 필요하다. 플랫폼 패키지 Android ARCore XR Plugin iOS ARkit XP Plugin Magic Leap Magic Leap XR Plugin HoloLens Windows XP Plugin 3. 기능 Device Tracking 기기의 위치, 회전값 추적 Plane detection 수직, 수평 표면 감지. 그 위에 가상 오브젝트를 올리기 때문에 중요함. 마커 없는.. 공부/ELSE 2022. 10. 18. [SQL] 오프라인/온라인 판매 데이터 통합하기 - MySQL 1. 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요. 2. 풀이 포맷팅한 sales_date, product_.. 코딩테스트/SQL 2022. 10. 14. [Flask] 플라스크 배포(feat.Docker) 1. main.py main.py의 main함수의 app.run부분을 이렇게 설정한다. main에서 app.run()을 써서 아무 설정 없이 그대로 돌아가도록 하면 flask에 기본적으로 내장돼있는 웹서버를 쓰게된다. 로컬에서는 정말 간편하지만 이걸 서버로 배포할 때는 문제가 생긴다. 어떻게 해도 외부접속이 안되기 때문이다. 따라서 app.run() 말고(=로컬호스트127.0.0.1에서만 돌아간다) app.run(host='0.0.0.0')으로 바꿔야 한다. if __name__ == "__main__": app.run(debug=False, host='0.0.0.0', port=5000) 2. waitress_server.py 생성 여기서 main은 위에서 내가 만든 flask 파일이다. main 파일.. 기록/CI&CD 2022. 10. 12. [Hadoop] Map Reduce를 위한 maven project 만들기 하둡 클러스터를 통해서 mapreduce를 실행했는데, 이 때 꼭 jar파일이 필요했다. 미리 공부했던 방식은 ant를 이용한 방식이었는데, 내가 따로 코드를 처음부터 작성하다보니 그 방식을 공부하기보다 이미 알고있는 maven방식을 쓰는게 좋다는 결론을 내렸다. 여건 상 하둡 클러스터 서버에서 maven을 설치할 수 없었기 때문에 로컬에서 빌드한 후 서버로 이동시켰다. 1. pom.xml 81번째줄의 mainClass부분이 중요하다. 메인클래스를 지정해야 jar파일을 실행할 때 Driver에서 설정한 명령어로 다른 클래스를 실행할 수 있다. 4.0.0 org.apache.hadoop.examples wayg jar 1.0 wayg http://maven.apache.org junit junit 3.8... 기록/그 외 프로젝트 기록 2022. 10. 11. [NLP] Open Korean Text 자바로 구현 몇년 전에 파이썬의 konlpy 라이브러리를 이용해서 okt를 써보았던 적이 있다. konlpy는 한국어 정보처리를 위한 파이썬 패키지로, 여러 종류의 한국어 자연어 처리기를 쉽게 사용할 수 있도록 돕는다. 나는 이번에 okt를 스프링부트에서 사용하기 위해서 자바로 직접 사용해보았다. 1. gradle 인코딩을 utf-8로 설정한다. tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } 그 후 dependencies에 다음을 추가한다. implementation('org.openkoreantext:open-korean-text:2.1.0') 2. 분석코드 분석을 위해 작성한 클래스다. analyseText 함수는 파라미터로 text와 선택할 품사태그배열.. 기록/그 외 프로젝트 기록 2022. 10. 10. [PG] 비밀지도 - JAVA 1. 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽.. 코딩테스트/PROGRAMMERS 2022. 10. 9. [Jenkins] gradle 설정 이전에 빌드하던 방식은 maven을 사용했기 때문에 gradle 버전만 다시 정리해보았다. 1. 젠킨스 관리 > Global Tool Configuration Gradle을 추가해서 name을 G로 정했다. 자동으로 설치되도록 했고, 버전은 내 프로젝트와 맞췄다. 2. Item 구성 위에서 설정한 이름을 쓰고 Tasks에 clean build를 작성한다. Excute shell에 command line을 전처럼 설정하면 된다. 3. 빌드된 화면 기록/CI&CD 2022. 10. 6. [PG] 오픈채팅방 - JAVA 1. 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다. "[닉네임]님이 들어왔습니다." 채팅방에서 누군가 나가면 다음 메시지가 출력된다. "[닉네임]님이 나갔습니다." 채팅방에서 닉네임을 변경하는 방법은 다음과 같이 두 .. 코딩테스트/PROGRAMMERS 2022. 10. 2. [Hadoop] Map Reduce - timed out after 600secs 에러 해결 기록용 글이다. 1. 배경 1) 이 프로젝트에서는 형태소 단위로 wordcount를 진행하고자 했다. 하둡을 '하둡답게' 이용하고 싶었기 때문에 데이터 6기가 정도를 크롤링으로 모았다. 2) 내가 짠 mapreduce 코드는 관광지명, 형태소가 key고 value가 카운팅횟수이기 때문에 한 줄에 관광지명, 텍스트가 전부 다 들어가있어야했다. 크롤링한 데이터는 일반적인 블로그글이라 미리 특수문자, 개행문자를 모두 제거하고 csv형식으로 정리해두었다. 3) 사용하던 하둡 클러스터 서버는 50대 정도의 서버를 묶은 것으로 내게 sudo권한이 없었다. 따라서 관리자권한이 필요한 설정변경은 할 수 없는 상황이었다. 2. 오류메세지 이렇게 mapreduce를 실행하면 timed out after 600s.. 기록/그 외 프로젝트 기록 2022. 9. 28. 이전 1 ··· 15 16 17 18 19 20 21 ··· 43 다음