알고리즘 풀이 2

[프로그래머스] 시저 암호 풀이 - JAVA

📍LEVEL1 : 시저 암호 유형 : 구현 📍풀이방법 입력값이 String 이고, 한 자리마다 n씩 움직여서 최종 결과값을 내야한다. 1) String의 한 자리씩 확인을 해야한다. -> char를 사용해야겠다고 생각. 2) 대소문자를 함께 입력받는다. -> 대소문자 구분을 해줘야겠다고 생각. 3) char는 int형으로 변경할 수 있고, 계산을 할 수 있기 때문에, 입력받은 n 과 각 자리 char 값을 더해준다. 4) z 또는 Z 를 넘어가는 범위는 있일 수 없기 때문에 a~z의 개수(=26)를 빼준다. (z or Z 범위를 벗어나게 된다면) 5) 영어 알파벳을 제외한 다른 문자(공백)도 들어갈 수 있기 때문에 예외로 처리해준다. 📍코드 class Solution { public String so..

[백준] 1715번 카드정렬하기 자바 코드 & 문제풀이 방법

[ 백준 ] 1715번 카드정렬하기 자바 코드 & 문제풀이 방법 문제설명 생각해야 할 요소 1. 처음엔 문제가 이해가 잘 안갔다. 문제에서 정렬된 두 묶음의 숫자카드가 있다고 나와있는데, 이 말이 입력값이 정렬이 된 상태로 들어온다는 건가? 헷갈렸다. 2. 문제를 읽다가 생각해낸 풀이는, 최소한의 비교 횟수가 나오려면 숫자가 작은 것들끼리 더해야 한다는 한다는 것이었다. 간단하게 생각해서 처음 나온 숫자랑 두번째 나온 숫자는 N-1 번 나올거고, 그 다음은 N-2, N-3 나오는거 아닌가? 해서 풀었다. 결과는 틀렸습니다! 그 이유는, 다른 예시를 보면 이해가 확실히 갈 것이다. 백준에서 주어진 예시에는 (10 + 20 ) < 40 이라 한번에 캐치하기 어려웠을 수도 있다. 이 문제의 패턴은 더해진 숫자..

알고리즘/백준 2020.11.10