그냥 잠들기에는 아쉽고, 피곤해서 어려운 문제는 못 풀겠고, 노트북 바꾼 기념으로 BOJ부터 SWEA, 프로그래머스와 정올까지 북마크에 추가하려는데 오래간만에 프로그래머스에 접속하니 왠지 문제를 풀어보고 싶어서 도전해봤다.
그리고 두 문제를 가볍게 맞히며 테스트 통과!! 야호~~~^_^
어려운 문제는 아니었지만 예전같으면 상상도 못할 내 모습이 신기하고 재미있다.
이제 JAVA라는 언어를 사용하는데 있어서 어느정도 자신감은 붙은 것 같다. 그리고 기본적인 코드는 구현이 가능한 수준인 것 같다. 아직 갈 길이 멀지만.. 하다 보면 늘겠지?🤔
통과한 기념으로 간단히 적어보는 문제와 코드.
1번: 짝수와 홀수를 판별하는 문제
class Solution {
public String solution(int num) {
String answer = "";
answer = (num%2==0)?"Even":"Odd";
return answer;
}
}
프로그래머스의 특징은 뭐랄까.. 본인들이 큰 틀을 정해준다고 해야하나? 신세계아이앤씨에서 코딩테스트 봤을 때 이게 약간 불편하기도 했는데 프로그래머스 플랫폼을 통해서 코테 보는 곳이 꽤 많으니 적응해야겠지..
아무튼 1번 문제는 모듈러 연산을 이용해서 짝수인지 판별해주고, 삼항연산자로 깔끔하게 결과값을 전달하며 마무리했다.
2번: 전화번호가 주어지면 맨 마지막부터 4개 자리만 그대로 출력하고 나머지는 *로 출력
class Solution {
public String solution(String phone_number) {
String answer = "";
StringBuilder sb = new StringBuilder(answer);
int len = phone_number.length();
for (int i = 0; i <= len - 4; i++) {
sb.append("*");
}
for (int i = len - 4; i < len; i++) {
sb.append(phone_number.charAt(i));
}
answer = sb.toString();
return answer;
}
}
조금 더 세련되게 풀 수도 있지 않을까.. 싶긴 하지만 일단 바로 생각나는 대로 푼 코드는 이렇다.😝
일단 문제를 보자마자 길이를 가지고 뭔가 해줘야겠다 싶었고, 반복문을 도는 횟수는 정해져있으니 for문을 사용하면 되겠고, 반복문을 돌리는 횟수를 정해줄 때 주의해야겠고, 전화번호의 마지막 4자리는 charAt을 이용해서 차례대로 붙여주면 깔끔하게 풀 수 있다.
이때 StringBuilder를 활용하면 나름 간단하게 풀 수 있는데, 사실 나도 StringBuilder나 StringBuffer에 대해서 매우 정확하게 알고 사용하는 것은 아니어서 언젠가 한 번쯤은 정리를 해보려고 한다. 뭐 대충은 동기니 비동기니.. mutable이니 immutable이니 어쩌구 저쩌구 하는걸 듣기는 했지만 아직 체화가 안돼서...^_^
근데 2번은 문법이 아리까리하기도 했고, 자동완성을 활용해야 빨리 짤 수 있을 것 같아서 이클립스에서 짜고 프로그래머스에 코드를 복붙했다. 실제 코테 때도 이렇게 할 수 있는지는 모르겠지만...😥
아무튼 이제 뿌듯하게 잘 수 있을 것 같다. 레벨 1짜리 간식 맛있었다~~~ 냠냠냠🍪🥤
'🥇Problem Solving (psS2mj) > Programmers' 카테고리의 다른 글
[프로그래머스] 월간 코드 챌린지 시즌1 (9월) - 2번 (Python3) (0) | 2020.09.12 |
---|---|
[프로그래머스] 월간 코드 챌린지 시즌1 (9월) - 1번 (Python3) (0) | 2020.09.12 |
[프로그래머스] 프린터 (Java) (0) | 2020.05.20 |
[프로그래머스/SQL] 역순 정렬하기 (MySQL) (0) | 2020.04.14 |
[프로그래머스/SQL] 모든 레코드 조회하기 (MySQL) (0) | 2020.04.13 |
댓글