전체 글

전체 글

    프로그래머스  Level 2  자바  오픈채팅방  2019 KAKAO BLIND RECRUITMENT

    프로그래머스 Level 2 자바 오픈채팅방 2019 KAKAO BLIND RECRUITMENT

    불과 한 달? 두 달? 전 이었을 까요 저는 이문제는 풀다가 그만 정신을 잃었습니다 못 풀겠어서요 어느정도 풀이를 하긴 했지만 실패했죠 그러다 어제 다시 처음부터 풀어봤는데 이게 뭐람 10분만에 풀어버렸습니다 그것도 아주 안정적으로요 시작합니다 그냥 바로 전체 코드입니다 HashMap과 ArrayList 하나씩 만듭니다 그리고 먼저 for문을 열어 record에서 하나씩 가져온 다음 이미 아이디를 키값으로 HashMap에 이미 존재하는지 체크하며 넣어줍니다 Leave인 경우를 제외해주고 (길이 2초과) 닉네임을 replace 해주는 것이 포인트입니다 그리고 for문을 다시 열어서 그저 출력만 해주면 되는 문제였습니다 이렇게 간단한 것을 저는 이 전에 풀 때 70줄이 넘게 작성했더라구요 허허 나름 실력이 ..

    프로그래머스  Level 2  자바  주차요금  2022 KAKAO BLIND RECRUITMENT

    프로그래머스 Level 2 자바 주차요금 2022 KAKAO BLIND RECRUITMENT

    드디어 저의 봉인이 해제되었습니다 여태까지 코테 문제들을 풀어오면서 Hash 관련된 유틸리티 클래스를 쓴적이 없었습니다만 (자랑은 아님) 이 문제는 안 쓰면 번거로울 것 같아서 써버렸습니다 개념은 물론 알고있었기에 떠올랐네요 그런데 이번 문제가 그렇게 어려운 문제는 아니라는 것... 다들 아시리라 생각됩니다 시작합니다 자 먼저 TreeMap 객체 두 개 각각, 주차장과 요금 정산입니다 그리고 ArrayList 한 개를 만들어줍니다 HashMap의 형제인 TreeMap 인데 요놈은 key 값을 기준으로 정렬을 해줍니다! 요놈을 쓴다면 sort를 굳이 안 해줘도 되지요 ㅎㅎ 그리고 이 다음, 저는 누구나 알아보기 쉬운 코드를 지향하지만 요번 문제는 간단히 하려 하면 오히려 길어져버릴 것 같았기에 이렇게 작성..

    프로그래머스  Level 2  자바   [3차] 방금그곡  2018 KAKAO BLIND RECRUITMENT

    프로그래머스 Level 2 자바 [3차] 방금그곡 2018 KAKAO BLIND RECRUITMENT

    블로그에 글들을 작성하며 예상보다 봐주시는 분들이 많은 것 같아 기분이 좋습니다. 도움이 됐을런지는 모르겠습니다만 아무튼 좋네요 ㅎㅎ 시작합니다 이번 문제는 좀 쉬우면서도 조금 까다롭다고 느꼈습니다 먼저 필드 선언부터 해줍니다 저는 답과, 시간을 만들어줬습니다 그리고 for문을 하나 열어줍니다. 앞으로 음악 정보를 하나하나 처리 할 겁니다 가장 먼저, 정보를 "," 기준으로 배열로 분리해줍니다 그리고 주어진 시작한 시각과 끝난 시각의 차이를 계산 하기 위해 timegap이라는 메서드에 집어넣어 gapgap이라는 이름으로 사용합니다 그리고 그냥 적당히 gapgap만큼 longlong 이라는 String에 악보를 넣어줍니다. 이 longlong의 용도는 앞으로 요녀석에 코드를 gapgap만큼 넣어주기 위함입..

    프로그래머스  Level 2  자바  두 큐 합 같게 만들기  2022 KAKAO TECH INTERNSHIP

    프로그래머스 Level 2 자바 두 큐 합 같게 만들기 2022 KAKAO TECH INTERNSHIP

    말 그대로 두 큐의 총 합이 같게 만드는 문제네요 한쪽으로 숫자를 하나 옮길 때마다 카운트가 하나씩 올라가고 두 큐의 합이 같아졌을 때 카운트를 리턴합니다. 같아질 수 없는 운명이라면 -1을 리턴하겠어. 시작합니다 먼저 전달받은 int 배열을 Queue로 만들어줍니다 그리고 총합의 절반을 넘는 수가 있는 경우를 판단하기위해 zxc 라는 ArrayList를 만들어줍니다. for문을 이용해 zxc와 총합을 구할 sum에 모든 수들을 뽑아서 더해줍니다. 그리고 harf에 절반의 값을 넣어주고 zxc ArrayList에서 harf보다 큰 값이 있는지 찾아줍니다. 있으면 성립이 안 되니 바로 -1 리턴이죠. 이제 카운트와 Queue객체인 a의 총합을 찾아줄 Sum메서드의 결과를 담은 SSum을 만들어줍니다. 그리..

    프로그래머스  Level 2  자바  수식 최대화  카카오 인턴

    프로그래머스 Level 2 자바 수식 최대화 카카오 인턴

    비교적 만만한 2단계 문제라 생각되어 풀어보았습니다. 간단히 정리하면 더하기, 빼기, 곱하기 세 연산자의 순서, 즉 6가지 순서 중 절대값이 가장 큰 결과를 리턴하는 문제입니다. 우선 전역으로 숫자들을 담은 String과 StringBuilder, String을 담을 ArrayList를 만들어줍니다. 지금 보니 딱히 빌더가 아니어도 될 것 같습니다. 이건 여러분 선택. 우선 입력받은 String을 숫자와 연산자를 분리하여 ArrayLsit에 담아줍니다. 숫자들이 담긴 String nu 에 포함되는지 확인하고 맞으면 빌더에 하나하나 쌓아주고 숫자가 아닌 연산자가 나왔을 때, 쌓아둔 빌더를 ArrayLsit에 넣고 setLength로 빌더를 초기화 해줍니다. 그리고 마지막 인덱스일 경우 마저 남아있는 빌더를..

    프로그래머스  Level 2  자바  2 x n 타일링  연습 문제

    프로그래머스 Level 2 자바 2 x n 타일링 연습 문제

    라고 항상 가장 위에 적을 셈이었지만 이번 만큼은 이 풀이 방법 외에는 없으리라 생각됩니다. 피보나치 수열을 아십니까? 대충 요런 녀석입니다. 공고 고졸인 본인이지만 요녀석은 익히 들어 알고있습니다. 황금비율이다, 자연의 선택이다 뭐다하면서요 솔직히 잘 모르겠습니다. 암튼 이번 문제는 얘를 알면 아주 숩습니다. 수워요. 요로코롬 하면 됩니다. 대충 필드 값 두개 만들어주고 for문을 열심히 돌려줍니다. 허허. 눈에 쉽게 들어오는 풀이라 생각해, 어렵게 느껴지진 않으리라.... 라고 행복회로를 돌려봅니다. 포인트인 for문의 i값이 3부터 시작하는 점만 생각해보시면 되겠습니다. 아래는 제가 직접 손수 수작업으로 하나부터 열까지 전부 직접 작성한 커뮤니티사이트 입니다 신생커뮤니티라서 많이 삭막하지만 들려주시..