본문 바로가기

전체 글108

[Programmers/Summer,Winter Coding(2018)] 방문 길이 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 방문 길이 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr 문제 풀이 Math.abs()를 사용하여 좌표평면 안에 값을 체크한다. x좌표, y좌표를 각각 계산한다. 한 번 지나간 길을 list에 저장한다. 이번 문제는 어떻게 풀어야 할까 생각을 오래 했었다. 머릿속에서 생각을 해보았을 때 조건문을 너무 많이 사용해야 할 것 같아서 계속 고민을 했던 것이었는데 다른 방법이 생각나지 않아 결국 그냥 풀었다. 나중에 시간이 여유로울 때 다시 한번 고민해보고 싶어서 풀고 난 후 에도 다른 사람의 풀이는 보지 않았다. 나중에.. 2021. 8. 9.
[Programmers/Lv2] 땅따먹기 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 땅따먹기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12913 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr 문제 풀이 public static int solution(int[][] land) { int answer = 0; int k = land.length; for(int i = 0; i < k-1; i++) { land[i+1][0] += max(land[i][.. 2021. 8. 6.
네이버 웹툰 2차 과제테스트 2021.07.10인 오늘, 네이버 웹툰 2차 코딩 테스트를 보았다. 내 블로그를 보면 알 수 있듯이 알고리즘 문제를 푸는 코딩 테스트는 연습도 많이 했었고 어떤 식으로 나오는지 대략적인 유형들을 알고 있었다. 하지만 과제 테스트는 한 번도 연습해 본 적 없었고 이런 게 있단 것도 몰랐다. 내가 비슷하게나마 해본 것은 프로젝트들을 만들던 경험뿐이었다. 스프링 프레임워크를 사용하였고 database를 거쳐 api를 내려주는 일들은 많이 해봤었지만 코딩 시험도 아닌 과제 테스트를 구글 검색을 아예 하지 않고 할 줄은 몰랐다. 당연히 내가 했던 코드들도 볼 수 없었다. 이번 시험으로 느낀 점은, 여태까지 프로젝트를 했던 것은 정말 겉핥기였구나 싶었다. 나름 잘한다 믿었던 나의 코딩 실력이 하찮음을 깨달았다. .. 2021. 7. 10.
[프로그래머스(programmers)] 네이버 웹툰 1차 코딩테스트 합격 후기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 네이버 웹툰 코딩테스트 21년 7월 4일, 프로그래머스에서 네이버 웹툰 1차 코딩테스트가 진행됐으며, 오늘 7월 7일에는 1차 코딩테스트의 합격자 발표가 있었다. 떨리는 마음으로 메일 확인을 해보니, 다행히도 합격이었다. 아직 알고리즘 공부를 다 하지도 못했고 채용과 관련된 시험접수가 처음인지라 별다른 기대를 하지 않았었는데, 합격이라는 소식이 놀랍기도 하고 기뻤다. 코딩테스트 해당 코딩테스틑 총 2시간 동안 3문제가 출제되었다. 문제 유형은 아래와 같다. 1. 조합 2. 최적화 문제 - 동적계획법(Dynamic Programming), 탐욕 알고리즘 (Greedy Algorithm) 3. 문자열 탐색 나는 약 40분 정도의 시간을 소요하여.. 2021. 7. 7.
[Programmers/Lv2] 숫자의 표현 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 숫자의 표현 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12924 코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr 문제 풀이 public static int solution(int n) { int answer = 0; for(int i = 1; i 2021. 7. 5.
[Programmers/Summer,Winter Coding 2018] 스킬트리 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 스킬트리 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr 문제 풀이 Queue를 사용하여 skill 순서를 판별한다. 한 단어 끝날 때마다 skill_q를 초기화해준다. 스킬 순서대로 푸는 것이 이 문제의 핵심이다. 제목에서 나왔듯이 트리 알고리즘이란 것을 사용하면 훨씬 더 효율적이고 쉽게 풀 수 있을 것이다. 하지만 나는 아직 트리 알고리즘을 공부해본 적 없어서 그냥 내 지식대로 풀었다. 다음에 시간 날 때 트리 알고리즘을 공부해야겠다고 다짐하게 된 계기다. skill_trees는 무조건 순서대로 해야 하므로 Que.. 2021. 7. 3.
하노이의 탑이란 무엇인가? ▏목적 ◦ 하노이의 탑 알고리즘 이해하기 ◦ 하노이의 탑 알고리즘 JAVA로 구현하기 ▏시작하는 말 오늘은 하노이의 탑 을 공부해봤다. 이름이 새로워서 내가 모르는 것인 줄 알았으나 어릴적 다들 한 번씩은 해봤던 놀이였다. 가지고 놀았던 게임을 제대로 분석하고 공부해서 코드로 구현해보니 더 재미있고 신기했다. 그럼 이제 그 하노이의 탑을 설명해보도록 하겠다. ▏하노이의 탑 하노이의 탑 규칙은 큰 원반이 아래, 작은 원반이 위로가게 해서 원반을 3개의 기둥사이에서 옮기는 것 이다. 원반은 1번에 1개씩만 옮길 수 있고, 모든 원반은 크기가 다르며 큰 원반이 작은 원반 위로 가서는 안되는 규칙이 있다. 또 최소한의 이동으로 목표 기둥으로 옮겨야 한다. ▏원리 왼쪽 기둥부터 편의상 1, 2, 3번 기둥이라고 .. 2021. 7. 2.
유클리드 호제법 이란 무엇인가? ▏목적 ◦ 유클리드 호제법 알고리즘 이해하기 ◦ 유클리드 호제법 JAVA로 구현하기 ▏시작하는 말 요즘 팀 프로젝트 작업을 하고 있어 알고리즘 공부하는 것이 뜸했다. 그래서 오늘은 일찍부터 일어나 공부를 시작해봤다. 오늘 공부한 것은 유클리드 호제법이란 알고리즘으로 최대공약수를 재귀적으로 구하는 방법이다. 예전에 내가 최대공약수 문제를 풀 때 정사각형으로 만드는 방법을 얼핏 봤었는데 그것을 오늘 제대로 공부했고 이제 설명해보려고 한다. 오늘도 역시 직접 그림판으로 그린 것이라 비율이 정확히 맞지는 않는것을 유념하고 봐줬으면 좋겠다. ▏유클리드 호제법 각 변의 길이가 22 와 8인 직사각형으로 예를 들어 설명해보겠다. 위 도형에서 짧은 변(8)을 한 변으로 하는 정사각형으로 나누면 8 x 8 정사각형 2개.. 2021. 7. 1.
윈도우 포트 죽이기 프로젝트를 하면서 이미 사용중인 포트라서 실행 할 수 없다는 에러를 종종 겪었다. 그 때 마다 인터넷에서 검색해 하다보니 나도 모르게 명령어가 외워졌다. 그래서 오늘은 그 명령어를 정리하려고 한다. 현재 실행중인 port 찾기 netstat 실행중인 port 표시, 프로세스 PID(id) 표시 netstat -a -o {pid} 프로세스 PID(id) kill taskkill /f /pid {pid} 2021. 6. 30.
AWS 서버 구축하기 내 블로그를 많이 본 사람들을 알고 있을 것이다. 전에 만들었던 Airbnb 클론코딩, 현재 진행하고 있는 Stock 이라는 주식 프로젝트에서 난 인프라 구축을 맡았다. 처음 해봤을 땐 어려워서 구글, 유튜브 등 많이 찾아보고 따라하는 식으로 했었지만 지금은 많이 익숙해져서 바로바로 할 수 있다. 그래서 오늘은 AWS EC2로 서버 구축하는 것을 설명해보려고 한다. AWS 홈페이지에 접속하여 로그인 먼저 해준다. 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services 제조 AWS를 활용한 Siemens의 에너지, 의료 서비스, 제조 분야 혁신 Siemens가 AWS를 사용하여 어떻게 문화를 바꾸고 혁신을 장려하며 비즈니스 성과를 창출했는지 알아보세요. 자세히 알아보기 업종 aws.. 2021. 6. 29.
MySQL에 엑셀(.csv) 데이터 넣기 내가 프로젝트를 진행하면서 엑셀에 있는 다량의 데이터를 DB에 넣어야하는 일이 생겼다. 찾아보다 명령어로 넣을 수 도 있었지만 나는 이미 mysql workbench 가 있었기에 workbench 를 활용해서 넣었다. 오늘은 그 방법을 설명하려 한다. 자신이 만든 테이블 속성 명들과 엑셀 파일 첫번째 행의 이름들을 맞춘다. 굳이 안맞춰도 되는데 편의상 맞추면 좋다. 그 후 엑셀파일을 .csv 형식으로 저장한다. 혹시 한글이 포함된다면 그 파일을 메모장으로 열어 다른이름으로저장을 누른 후 하단에 인코딩 utf-8로 설정해주면 나중에 생기는 오류를 방지 할 수 있다. 자신이 넣고자하는 테이블에 들어간 후 Result Grid 탭에서 Export/import 아이콘을 클릭한다. 자신이 테이블을 만들어 뒀다면 .. 2021. 6. 28.
[프로그래머스(programmers)] (Lv2 ) 큰 수 구하기 보호되어 있는 글 입니다. 2021. 6. 25.
반응형