본문 바로가기

분류 전체보기270

프로그래머스 행렬의 곱셈 (level. 2) 문제 : 행렬의 곱셈은, 곱하려는 두 행렬의 어떤 행과 열을 기준으로, 좌측의 행렬은 해당되는 행, 우측의 행렬은 해당되는 열을 순서대로 곱한 값을 더한 값이 들어갑니다. 행렬을 곱하기 위해선 좌측 행렬의 열의 개수와 우측 행렬의 행의 개수가 같아야 합니다. 곱할 수 있는 두 행렬 A,B가 주어질 때, 행렬을 곱한 값을 출력하는 productMatrix 함수를 완성해 보세요. 우선은 행렬에 대한 성질을 정확히 이해하고 있어야지 풀 수 있는 문제였다. 기억이나지 않아 성질에 대해 다시 찾아보았다. 2018. 2. 13.
프로그래머스 김서방 찾기 문제 : findKim 함수(메소드)는 String형 배열 seoul을 매개변수로 받습니다. seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 2018. 2. 8.
프로그래머스 수박수박수박구하기 문제 : water_melon함수는 정수 n을 매개변수로 입력받습니다. 길이가 n이고, 수박수박수...와 같은 패턴을 유지하는 문자열을 리턴하도록 함수를 완성하세요. 예를들어 n이 4이면 '수박수박'을 리턴하고 3이라면 '수박수'를 리턴하면 됩니다. 2018. 2. 8.
프로그래머스 문자열 내림차순으로 배치하기 문제 : reverseStr 메소드는 String형 변수 str을 매개변수로 입력받습니다.str에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 String을 리턴해주세요. str는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 예를들어 str이 Zbcdefg면 gfedcbZ을 리턴하면 됩니다. 처음에는 문자를 먼저 오름차순으로 정렬하고 그것을 역순으로 출력하면 될 것 같았는데 찾아보니 reverse라는 메소드가 있어서 그 방식으로 구현을 해보았다. StringBuilder에 대한 사용이 익숙하지 않아서 기존의 버블정렬로 비교해 역순으로 출력하는 방식으로 푸는 방법이 더 이해하기 쉬웠다. 2018. 2. 7.
자바 String, StringBuilder, StringBuffer 차이점 비교 자바에서 문자열을 나타낼 때 String, StringBuilder, StringBuffer 방식으로 나타낼 수 있다.하지만 무슨 차이일까? 궁금해서 찾아보았다.String은 보통 불변의 속성을 가지고 있다. 위 처럼 str에 새로 문자를 저장하면 새로 저장된 문자가 출력된다. 하지만 불변속성이기 때문에 abcd값은 버려지지않고 가비지컬렉터에 저장된다. 반면에 StringBuilder, StringBuffer는 가변방식이며, append()메소드를 사용하여 문자열을 추가한다. 사용 방식은 똑같지만 이 둘의 차이점은 동기화이다. StringBuffer는 동기화를 제공하기에 쓰레드 사용시 사용을 하게된다. 그런 이유로 속도는 StringBuilder에 비해 느리다.그렇기 때문에 상황에 맞게 적절히 사용하는 .. 2018. 2. 7.
프로그래머스 약수의 합, 행렬의 합 문제 : 어떤 수를 입력받아 그 수의 약수를 모두 더한 수 sumDivisor 함수를 완성해 보세요. 예를 들어 12가 입력된다면 12의 약수는 [1, 2, 3, 4, 6, 12]가 되고, 총 합은 28이 되므로 28을 반환해 주면 됩니다. 문제 : 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬을 입력받는 sumMatrix 함수를 완성하여 행렬 덧셈의 결과를 반환해 주세요. 예를 들어 2x2 행렬인 A = ((1, 2), (2, 3)), B = ((3, 4), (5, 6)) 가 주어지면, 같은 2x2 행렬인 ((4, 6), (7, 9))를 반환하면 됩니다. (어떠한 행렬에도 대응하는 함수를 완성해주세요.) 더 좋은 방법이 있으면 조언 감.. 2018. 2. 7.