![[프로그래머스] 이진 변환 반복하기(Java, 문자열, 구현)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAb9FB%2FbtsMd6ULeOv%2FqRN2vvqiBl0uXLX97w7piK%2Fimg.png)
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 풀이문자열 + 구현 문제로 주어진 요구사항 그대로 구현하면 되었다.0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다① x의 모든 0을 제거 합니다② x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다문자열 s가 주어질 때 "1"이 될 때까지 변환 횟수와 제거된 0의 개수를 반환하시오 1. replaceAll()과 StringBuilder 성능 차이이진수로 표현되는 문자열 s ..
![[BOJ21942] 부품 대여장 (자료구조, 해시맵)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgviIo%2FbtsHqO32oRy%2FIH2W0WLZ68L7koJ4OKDZi1%2Fimg.png)
문제 링크 https://www.acmicpc.net/problem/21942 문제 풀이직접 풀이 못함, 월별 일수 계산하는 방법 알게 되어 기록 - 문자열로 된 날짜 데이터 변환이 어려운 문제였다.- 구현 로직은 Map 자료구조를 사용하여 상대적으로 간단했다- 시간복잡도: O(N) (Map 자료구조를 사용해서 O(1)에 추가/삭제 가능) [핵심 로직]- Map에 닉네임과 부품(key) 정보가 없는 경우 대여 이므로 HashMap 에 데이터 추가 한다- Map에 닉네임과 부품(key) 정보가 있는 경우 반납 이므로 HashMap 제거 후 패널티 계산 수행한다- 벌금의 경우에도 Map 자료구조 사용하여 {key: 닉네임, value: 벌금} 형태로 기록한다 실수 1. 최대치 long- 문제에서 yyy..