코딩연습 팁(?)

littlecsh·2023년 12월 21일

kotlin

목록 보기
7/8
post-thumbnail

오늘은 내가 코딩을 해오면서 개인적으로 유용했던 패턴을 정리해보려고 한다.

많진 않지만 알고리즘 문제들을 풀어보면서 입출력 예시로 몇가지가 나오지만 일반적인 경우의 입력값들이기에 그것들이 맞다고 정답인 것은 아니다. 때문에 여러 테스트케이스를 고려해야하는데 일일히 코드를 실행시키기엔 너무 번거로워서 무한으로 입력을 받을 수 있게 코드를 짜곤 한다.

입력값이 숫자면

while(true){
	val num= readLine()?.toIntOrNull()
	if(num!=null && (num의 조건)){
	
    //코드작성
	
    }
}

문자열이면

while(true){
	val str= readLine()
	if(!str.isNullOrEmpty() && (str의 조건)){
	
    //코드작성
	
    }
}

이런 패턴을 사용하고 있다.

toIntOrNull()은 정수면 그값이, 아니면 null값이 반환된다. 때문에 null값을 비교해주어 숫자인지 체크를 하면 된다.
isNullOrEmpty()는 null이거나 비어있는 경우를 체크해줘 null이거나 비어있는 경우 다시 입력을 받게 하기 위해서 앞에 !연산자를 넣어 부정을 해주었다.

정말 중요하게 생각하는 것은 입력조건이다.
문제들에 항상 입력에 대한 조건들이 제시되어 있을 것이다.
연습문제를 풀때 입력조건을 꼭 반영해서 코드를 짜는 습관을 들였으면 좋겠다.
앞서말한 입력예시들이 일반적이라고한 이유가 여기에 있다.
대부분의 예시는 조건 내의 입력값이기 때문이다.

profile
앱개발 튜토리얼

1개의 댓글

comment-user-thumbnail
2023년 12월 22일
  1. 타이틀이 더 구체적인 것이 좋겠습니다.
  2. 소제목 등을 사용하여, 단락or문단을 구분해 가독성을 높일 수 있을 것 같습니다.
  3. 코드의 경우 코드 블록 기능을 사용해 깔끔하게 정리해주세요
  4. 기본적으로 문시해알을 기본 폼으로 작성해보고 이후 본인의 템플릿을 만들어간다고 생각해주세요
    1. 문 : 문제
    2. 시 : 시도
    3. 해 : 해결
    4. 알 : 알게된 점
답글 달기