개린이 탈출기

[코테연습] 2차원 배열 본문

일상메모

[코테연습] 2차원 배열

yooverd 2025. 3. 16. 16:20
728x90
반응형
SMALL

문제1 : 병과 호출

https://school.programmers.co.kr/learn/courses/30/lessons/340204

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

- if, else if, else 구문

- 문자열 equals() 활용하여 비교하는 방법

과 관련된 문제였던 것 같다.

보통 문자열 비교를 하는 경우 NullPointer 예외를 피하기 위해 하드코딩 문자열로 equals 함수를 호출하는데,

빈값이 들어오지 않는다는 보장도 확실하고 기본적으로 제공해주는 코드 스타일을 맞추기 위해 변수로 받은 문자열 기준으로 equals 호출함.

 


 

문제2 : 심폐소생술

https://school.programmers.co.kr/learn/courses/30/lessons/340203

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

이중 for문 사용과 관련된 문제이다.

문제를 풀면서 어떤 조건식으로 for문을 돌릴까~ 란 고민을 했는데,

우선 반환할 answer 배열은 이미 선언되어 있으므로 첫번째 for문의 조건식은 answer.length로

두번째 for문은 basic_order의 순서를 참고하는 것이므로 basic_order.length로 지정하였다.

뭐, 어차피 조건이 지정되어 있으므로 숫자를 하드코딩해도 전혀 문제는 없었던 문제였다.

 


 

문제3 :  물 부족

https://school.programmers.co.kr/learn/courses/30/lessons/340202

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

각 변수의 타입을 눈여겨 보지 않아서 바보짓을 조금 오래했다.

처음에는 다음과 같이 코드를 수정했다.

usage = usage * (1+(change[i] / 100));

그런데 일부 통과되지 않는 케이스가 발생했고, 직감적으로 소수점 문제임을 깨달았다.

 

이때부터 소수점을 버려보겠다고 하나의 라인에서 Math 를 사용하지 않고 온갖 난리 부르스를 떨다가 급 깨달음이 찾아왔다.

그냥 마지막 계산에서 나눠버리면 알아서 소수점 버림이 된다는 것을...

그래서 다음과 같이 코드를 수정하니 귀신같이 패스해버렸다.

usage = usage * (100+change[i]) / 100;

 

그리고 다른 분들이 제출한 결과가 더욱 직관적이고 보기 좋았어서 같이 올려둔다.

usage += usage * change[i] / 100;

 


 

문제4: 버스

https://school.programmers.co.kr/learn/courses/30/lessons/340201

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

2차원 배열과 관련된 문제인 것 같다.

메서드도 다 제공되어있는거 골라서 쓰면 되는 문제라 가볍게 패스

 


문제5 : 닉네임 규칙

https://school.programmers.co.kr/learn/courses/30/lessons/340200

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

while 문 사용이 익숙하지 않았은데, 어제 오늘 문제를 풀면서 조금씩 익숙해지는 것 같다.

순차반복을 하는데, 그 횟수의 값이 크게 중요하지 않거나 사용하지 않아도 되는 조건이라면 while을 쓰는 방향인걸까?

 

while 말고 repeat 함수를 사용한 답변이 존재했다.

repeate 함수는 자바 문자열 함수로, 횟수를 파라미터로 전달받아 그만큼 반복하는 함수이다.

728x90
반응형
LIST

'일상메모' 카테고리의 다른 글

[코테연습] 동영상 재생기  (0) 2025.03.24
[코테연습] 유연근무제 (이차배열)  (0) 2025.03.24
[코테연습] 택배 상자 꺼내기  (0) 2025.03.21
[코테연습]  (0) 2025.03.18
[코테 연습] 개행문자, 나머지연산  (0) 2025.03.14