전체 글130 [programmers] 피보나치 수 피보나치 수 피보나치 수 x피보나치 수는 F(0) = 0, F(1) = 1일 때, 2 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 점화식입니다. 2 이상의 n이 입력되었을 때, fibonacci 함수를 제작하여 n번째 피보나치 수를 반환해 주세요. 예를 들어 n = 3이라면 2를 반환해주면 됩니다. 피보나치 수는 0과 1로 시작해서 그 뒤부터는 앞의 두 숫자를 더해주면 되는데, 문제에서 이미 식을 다 내줘버려서 설명할 것도 없는 문제이다.그런데 여기서 만약 위의 문제에 주어진대로 재귀함수를 호출하는 식으로 만들면 num에 큰 숫자를 넣었을 때 런타임이 너무 길어지는 문제가 생길 수 있다.재귀함수라는 게 재밌고 만들기 편하지만 알고리즘 문제를 풀 때는 안좋은 방법인 것 같다. .. 2018. 5. 21. [programmers] 짝수와 홀수 짝수와 홀수 짝수와 홀수 xevenOrOdd 메소드는 int형 num을 매개변수로 받습니다.num이 짝수일 경우 Even을 반환하고 홀수인 경우 Odd를 반환하도록 evenOrOdd에 코드를 작성해 보세요.num은 0이상의 정수이며, num이 음수인 경우는 없습니다. 간단하게 생각해서 짝수는 2로 나누어떨어지고, 홀수는 나머지 1이 생기는 것을 이용하면 된다. xxxxxxxxxxpublic class EvenOrOdd { String evenOrOdd(int num) { String result = ""; if (num % 2 == 0) result = "Even"; else result = "Odd"; return result; } public static void main(String[] args).. 2018. 5. 21. [programmers] 최대공약수와 최소공배수 최대공약수와 최소공배수 최대공약수와 최소공배수 x두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환해주는 gcdlcm 함수를 완성해 보세요. 배열의 맨 앞에 최대공약수, 그 다음 최소공배수를 넣어 반환하면 됩니다.예를 들어 gcdlcm(3,12) 가 입력되면, [3, 12]를 반환해주면 됩니다. 최대공약수는 두 수의 약수 중 가장 큰 값이다. 나처럼 처음부터 돌리지 않고 a부터 내려가면서 찾아서 공약수가 발견되면 바로 break를 써서 빠져나오게 해도 된다.두 수를 곱한 값에서 최대공약수를 나누어주면 최소공배수가 된다. xxxxxxxxxximport java.util.Arrays;class TryHelloWorld { public int[] gcdlcm(int a, int b) { int[] a.. 2018. 5. 21. [programmers] 수박수박수박수박수박수? 수박수박수박수박수박수 수박수박수박수박수박수? xwater_melon함수는 정수 n을 매개변수로 입력받습니다.길이가 n이고, 수박수박수...와 같은 패턴을 유지하는 문자열을 리턴하도록 함수를 완성하세요.예를들어 n이 4이면 '수박수박'을 리턴하고 3이라면 '수박수'를 리턴하면 됩니다. 매번 그냥 스트링을 썼는데 이번엔 스트링 버퍼를 한 번 써보았다.참고) String, StringBuffer, StringBuilder 차이점과 장단점 나처럼 배열을 사용하지 않고 그냥 i가 짝수면 "수", 홀수면 "짝"을 더해도 된다.나는 조건문을 사용하지 않고 이렇게 하는 편이 코드가 예뻐보여서 이렇게 했다. xxxxxxxxxxpublic class WaterMelon { public String watermelon(i.. 2018. 5. 21. [programmers]최대값과 최소값 최대값과 최소값 최대값과 최소값 xgetMinMaxString 메소드는 String형 변수 str을 매개변수로 입력받습니다.str에는 공백으로 구분된 숫자들이 저장되어 있습니다.str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 (최소값) (최대값)형태의 String을 반환하는 메소드를 완성하세요.예를들어 str이 1 2 3 4라면 1 4를 리턴하고, -1 -2 -3 -4라면 -4 -1을 리턴하면 됩니다. 띄어쓰기로 구분해서 스트링 배열을 만든 후 모든 배열의 값을 스트링인 채로 비교할 수 없으니 Integer클래스의 parseInt()메소드를 이용해 정수값으로 변환했다.변환한 값들의 크기를 비교해서 최소값과 최대값을 구했다. xxxxxxxxxxpublic class GetMinMaxString {.. 2018. 5. 21. [programmers] 평균구하기 평균구하기 평균구하기 x함수를 완성해서 매개변수 array의 평균값을 return하도록 만들어 보세요.어떠한 크기의 array가 와도 평균값을 구할 수 있어야 합니다. 배열 합을 구해서 배열 크기를 나누어주면된다. xxxxxxxxxxpublic class GetMean { public int getMean(int[] array) { int sum = 0; for (int i = 0; i 2018. 5. 21. [programmers] 서울에서 김서방찾기 서울에서 김서방찾기 서울에서 김서방찾기 xfindKim 함수(메소드)는 String형 배열 seoul을 매개변수로 받습니다.seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하세요.seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 아주 단순한 문제다.그냥 배열에 "Kim"이 들어있는 첨자를 찾아서 출력하면 된다. public class FindKim { public String findKim(String[] seoul){ //x에 김서방의 위치를 저장하세요. int x = 0; for (int i = 0; i 2018. 5. 21. [JUNGOL] 정보올림피아드&알고리즘 문제 풀이 몇가지 정보 올림피아드 & 알고리즘 정보 올림피아드 & 알고리즘 실력키우기문제답 숫자사각형1 JO1303.java 숫자사각형2 JO1856.java 숫자사각형3 JO1304.java 숫자사각형4 JO2046.java 문자사각형1 JO1307.java 문자사각형2 JO1314.java 달팽이사각형 JO1707.java 문자마름모 JO1331.java 대각선 지그재그 JO1495.java 마방진 JO2074.java 별삼각형1 JO1523.java 별삼각형2 JO1719.java 별삼각형3 JO1329.java 숫자삼각형 JO1641.java 달팽이삼각형 JO1337.java , JO1337_2.java 알고리즘문제답 회의실 배정 JO1370.java 소시지 공장 JO1669.java 2018. 5. 21. tomcat 서버 포트충돌 시 강제로 종료시키기 Tomcat 강제종료 (강제 킬).md Tomcat 강제종료 (강제 킬)STS 사용 도중 갑자기 프로그램이 다운되어서 다시 실행시켰더니 툴만 종료되고 서버는 종료되지 않아 새로 실행시킨 STS창에서는 포트충돌이라며 서버가 실행되지않았다.아무리 껐다 켜도 답이 없는..... 야속한 톰캣...................☆검색을 해봤는데 cmd로 pid를 찾아서 작업관리자에서 킬을 하라고 하는데 저는.. 못찾겠고요... 못찾겠습니다......그러다가 알아낸 cmd로 바로 태스크킬하기! (OS: windows) cmd창을 켠다.시작 - 보조프로그램 - 명령 프롬프트일일이 눌러보기 귀찮으면 시작 창에서 'cmd'를 검색tomcat PID 확인netstat -ao 를 입력하면 (띄어쓰기 필수) 현재 실행중인 TC.. 2018. 5. 2. DI(의존성 주입)과 IoC(제어의 역행) DI(Dependency Injection, 의존성 주입).md DI(Dependency Injection, 의존성 주입) 기존의 자바는 객체를 직접 만들어서 소유했는데, 이렇게 할 때 객체에 또 다른 클래스를 만들어 교체하고자 할 때 모든 소스를 변경해 다시 컴파일 해야 하는 문제점이 있었다. 이를 막기 위해 DI라는 개념을 도입했다. Dependency Injection이란 프로그래밍에서 모듈간의 의존성을 모듈의 내부가 아닌 외부(컨테이너)에서 주입시켜주는 기능으로 , IoC(Inversion of Control, 제어의 역행)의 한 종류이다. 제어의 역행은 어떤 모듈이 사용할 모듈을 개발자가 결정하는 것이 아니라, 다른 모듈에게 선택권을 넘겨준다는 것을 의미한다. 외부에서 필요한 객체를 결정하기 때.. 2018. 5. 1. 이전 1 ··· 9 10 11 12 13 다음