[테킷 백엔드스쿨] 2주차 화요일 TIL - 프로그래머스 코딩테스트 입문

jkeum·2023년 10월 24일
0

TECHIT-BackendSchool

목록 보기
2/50
post-thumbnail

추상클래스

abstract 키워드를 붙여서 사용한다.
추상클래스를 상속받는 하위클래스들에서 공통적으로 사용하는 필드와 메소드의 선언부를 통해 하위클래스에서 이 기능을 구현해야함을 알려준다.
abstract 키워드가 붙은 필드나 메소드를 하나라도 가지면 그 클래스는 추상클래스가 된다.
추상클래스를 사용하면 실체클래스를 구현할 때 어떤 메소드를 어떤 규격에 맞게 구현해야 하는지 바로 알 수 있으므로 시간을 절약할 수 있고, 유지보수성을 높일 수 있다.

프로그래머스 코딩테스트 입문

피자 나눠 먹기(1)

피자가게에서 피자를 7조각으로 나눠준다. n명이 먹을 때, 인당 최소 한 조각은 먹기 위해 필요한 피자 수를 구하는 문제였다.

return n%7==0 ? n/7 : n/7+1;

처음에 단순히 7로 나누고 거기에 1을 더해서 코드를 실행해봤는데, 7로 나누어 떨어질 때는 1을 더하면 안 되었다.
그래서 조건문 쓰려다가 귀찮아서 삼항연산자를 썼다.
근데 다른 사람 코드가 조건도 없이 한 줄로 간결하게 끝나서 좀 놀랐다. 천재네;

배열 원소의 길이

문자열을 담고 있는 배열이 주어졌을 때, 그 배열에서 각 원소의 길이를 담은 int형 배열을 리턴하는 문제였다.

public int[] solution(String[] strlist) {
	int[] answer = new int[strlist.length];
    for (int i = 0; i < strlist.length; i++) {
    	answer[i] = strlist[i].length();
	}
    return answer;
}

이 정도면 심플하다고 생각했는데 Array stream 등을 이용해서 또 한 줄로 끝낸 사람 있어서 현타옴;
중간고사 끝나면 진짜 스트림 공부 좀 해야겠다.

profile
It's me, jkeum!

0개의 댓글