분류 전체보기
![[프로그래머스][Level2][JAVA] 영어 끝말잇기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdtpwgO%2FbtqMOyh3G8k%2FKVtIGtKCfu1R9tO6h6b3Q0%2Fimg.png)
[프로그래머스][Level2][JAVA] 영어 끝말잇기
[문제 설명] https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 [tank, kick, know, wheel, land, dream, mother, robot, tank] [3,3] 5 [hello, observe, effect, take, either, recognize, encourage, ensure, establish, hang, gather, refer, reference, estimate, executive] [0,0] programmers.co.kr [풀이 과정] 풀이시간 : 22:35 ~ 23:35 (딱 한시간) (길다 길어...줄여라 시간..) 끝말잇기에서 탈락하는 경우는 3가지다. 1. 한 글자인 ..
![[JAVA] 최대 공약수(GCD), 최소 공배수(LCM) 구하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmwGdz%2FbtqLXRxBtNR%2F1483zvf0a4j8QoN8YkLLD0%2Fimg.png)
[JAVA] 최대 공약수(GCD), 최소 공배수(LCM) 구하기
최대 공약수 구하는 방법 1. 숫자가 2개인 경우 1) 두 수를 공약수로 계속 나눈다. 2) 공약수로 나눈 몫이 서로소가 되면 stop 3) 왼쪽 공약수를 모두 곱한다. ∴ 60 과 48의 최대 공약수 : 2 ✕ 2 ✕ 3 = 12 2. 숫자가 3개 이상인 경우 - 코드에서 배열이 매개변수로 주어지는 경우 1. 모든 수를 동시에 반드시 나눌수 있는 수로 나눈다. 2. 더이상 동시에 나눌 수 없으면 stop 3. 왼쪽 공약수를 모두 곱한다. ∴ 60, 48, 40 의 최대공약수 : 2 ✕ 2 = 4 최소 공배수 구하는 방법 1. 숫자가 2개인 경우 1) 두 수의 공약수로 나눈 몫이 서로소가 될 때까지 나눈다. 2) 왼쪽 공약수들과 아래 서로소까지 모두 곱한다. ∴ 60 과 48의 최소 공배수 : 2 ✕ 2..
![[프로그래머스][Level2][JAVA] 수식 최대화](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FB2B5D%2FbtqLFSaMgeh%2FynPEzdjMoSolkubvGldgQ1%2Fimg.png)
[프로그래머스][Level2][JAVA] 수식 최대화
[문제 설명] https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr [풀이 과정] 문제를 해결하는데에 3가지 알고리즘 및 자료구조 지식을 이용했다. 1. 순열 2. 수식의 계산 - 중위표기법, 후위표기법 3. 스택 (2를 계산할 때 3이 사용된다.) 1. 순열 문제에서는 +, -, * 이 세가지 연산자의 우선순위를 자유롭게 재정의 하여 가장 큰 답을 만드는 계산식의 결과를 리턴하라고 한다. +, -, * 의 우선..
![[JAVA] 수식의 계산 - 전위표기법, 중위표기법, 후위표기법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAvxTB%2FbtqLD1fHejE%2Fjha4LrjZ4F3edYjQ4cqUhK%2Fimg.png)
[JAVA] 수식의 계산 - 전위표기법, 중위표기법, 후위표기법
수식 표현에는 3가지 방법이 있다. 1. 전위표기법(prefix) 2. 중위표기법(postfix) 3. 후위표기법(infix) 1. 전위 표기법(prefix) - 연산자가 피연산자들 앞에 위치한 수식 2. 중위 표기법(postfix) - 연산자가 피연산자 사이에 위치한 수식 - 주로 사람이 계산하는 방법 3. 후위 표기법(infix) - 연산자가 피연산자들 뒤에 위치한 수식 - 컴파일러가 계산하는 방법 [JAVA code] 중위표기법 -> 후위표기법 으로 변환 /** * 중위 표기식 -> 후위 표기식 * * @param expression * @return */ public static String postfixToInfix(String expression) { String answer = ""; Sta..

문자열
1. 소문자 대문자 치환 public static void main(String[] args) { String s = "KiMcHoWoN"; System.out.println("대문자로 : " + s.toUpperCase()); System.out.println("소문자로 : " + s.toLowerCase()); } 대문자로 : KIMCHOWON 소문자로 : kimchowon ** 알파벳 이외에 글자들은 toLowerCase(), toUpperCase() 메소드를 사용해도 원래 문자 그대로 반환
![[프로그래머스] [Level2] [JAVA] 행렬의 곱셈](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1UtR4%2FbtqLf5VUEs2%2Fof284yEA6XIO0Z27WKiGck%2Fimg.png)
[프로그래머스] [Level2] [JAVA] 행렬의 곱셈
[문제 설명] https://programmers.co.kr/learn/courses/30/lessons/12949 코딩테스트 연습 - 행렬의 곱셈 [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] programmers.co.kr [풀이 과정] 행렬A와 행렬B 를 곱하기 위해서는 두 행렬이 다음 성질을 만족해야 한다. 1. 행렬A의 행의 길이(k)와 행렬B의 열의 길이(k)가 같아야 한다. 2. 두 행렬의 곱한 결과 행렬은 가로 세로가 (행렬B의 행 * 행렬A의 열) 이다. (m * n) 3. A * B 가 만족하듯이 B * A가 만족하려면 그림처럼 두 행렬..