전체 글(73)
-
intellij java 버전 변경하는 방법
프로젝트 생성시 intellij 자바 버전을 변경하는 경우가 가끔 있는데 항상 까먹어서 검색을 해보고 찾아서 java 버전을 변경해줬다. 간단하게 정리하고 사용하려고 글을 작성하려고 합니다. intellij 왼쪽 상단에서 file -> project structure에 들어가서 project, module, sdk에서 자신이 원하는 java 버전으로 변경해줍니다. 그리고나서 file -> setting에서 gradle, java compiler에서 원하는 java 버전으로 변경해주면 됩니다.
2023.02.01 -
프로그래머스 점프와 순간 이동(java)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에서 이동하는 방법은 두가지가 있다. 1. 점프 2. 순간이동 여기서 점프하는 칸수만큼 건전지를 사용하게 된다. 반면 순간이동은 현재까지 움직인 칸수만큼 이동하는데 건전지는 사용하지 않는다. 즉 순간이동을 최대한 많이해서 점프를 적게 할 수 있게 해야한다. 여기서 중요한 것은 순간이동은 현재까지 움직인 칸수라는 것이다. 현재까지 이동한 칸수를 n이라고 하면 순간이동을 하면 2n칸이 된다...
2023.01.26 -
프로그래머스 예상 대진표(java)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr n명이 있을 때 a번과 b번 참가자가 몇번째 경기에서 만나는지 알아내야 하는 문제이다. 문제를 보면 1번, 2번 중 승자는 1번이 되고 3번, 4번 중 승자는 2번이 된다. 여기서 규칙성을 찾아보면 x번, x+1번의 참가자 중 승자는 x / 2 + x % 2 번이 된다. 종료 조건으로는 a번 승자와 b번 승자가 만날 때이므로 x값이 같아지면 된다. 코드로 변환하면 다음과 같다. class S..
2023.01.26 -
프로그래머스 N개의 최소공배수(java)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 N개의 숫자의 최소공배수를 구해는 문제이다. 이 문제는 유클리드 호제법(유클리드 알고리즘) 이용하여 푸는 것이 좋다. 유클리드 호제법은 두 수의 최대공약수를 구하는 방법인데 숫자 a, b에 대해서 a와 b를 나눈 나머지를 r이라고 할 떄 a와 b의 최대공약수와 b와 r의 최대공약수가 같다. 이 원리를 이용하여 나머지가 0이 될때까지 계산하면 a와 b의 최대공약수를 구할 수 있다. 최소공..
2023.01.19 -
프로그래머스 구명보트(java)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제조건 1. 보트는 작아 최대 2명 탑승가능 2. 보트를 최소한으로 사용해서 모든 사람이 탈출 보트를 최소한으로 사용하기 위해서는 최대한 2명이 탑승할 수 있도록 해줘야 한다. 최대값 + 최소값을 제한값과 비교하는 방식으로 문제를 풀면 되겠다. 나의 풀이 class Solution { public int solution(int[] people, int limit) { int answer =..
2023.01.19 -
프로그래머스 영어 끝말잇기(java)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제요약 1. 사람 수, 사람들이 말하는 단어들을 String 배열로 주어진다. 2. 단어가 중복되거나 앞사람이 말한 단어의 마지막 문자와 뒷사람이 말한 단어의 첫 문자가 다를 경우 탈락한 사람의 번호와 해당 사람이 몇번째 말하기에 떨어졌는지 return 해준다. 중복이 된다 -> Set을 활용하자 나의 풀이 class Solution { public int[] solution(int n, ..
2023.01.19