일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 쿼리실행사이트
- java 로 intellij 플러그인
- 쿼리실행순서
- sql 테스트 사이트
- hibernate 쿼리실행 순서
- Kafka
- port&adapter architecture
- sql사이트
- Flush
- 중복컬럼dto매핑
- 쿼리테스트사이트
- group by group by rollup 차이
- 컬럼명중복
- error 2002 (hy000): can't connect to local mysql server through socket '/tmp/mysql.sock' (2)
- Java
- Stream
- ls -lgaf
- IntelliJ
- intellij 플러그인 만들기
- 포트앤어댑터 아키텍처
- 쓰기지연sql저장소 쿼리실행순서
- dto매핑우선순위
- 쓰기지연저장소
- 오라클쿼리테스트사이트
- 설치없이쿼리실행
- JPA
- 자바
- intellij 플러그인 개발
- 스트림
- Oracle
- Today
- Total
개린이 탈출기
[코테연습] 2차원 배열 본문
문제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 함수는 자바 문자열 함수로, 횟수를 파라미터로 전달받아 그만큼 반복하는 함수이다.
'일상메모' 카테고리의 다른 글
[코테연습] 동영상 재생기 (0) | 2025.03.24 |
---|---|
[코테연습] 유연근무제 (이차배열) (0) | 2025.03.24 |
[코테연습] 택배 상자 꺼내기 (0) | 2025.03.21 |
[코테연습] (0) | 2025.03.18 |
[코테 연습] 개행문자, 나머지연산 (0) | 2025.03.14 |