본문 바로가기
🥇Problem Solving (psS2mj)/Programmers

[프로그래머스] 스킬 체크 레벨 1 결과: 합격! 훌륭합니다🙋️

by psS2mj 2020. 4. 11.
반응형

그냥 잠들기에는 아쉽고, 피곤해서 어려운 문제는 못 풀겠고, 노트북 바꾼 기념으로 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짜리 간식 맛있었다~~~ 냠냠냠🍪🥤

반응형

댓글