분류 전체보기
-
[🥰프로그래머스] 폰켓몬 (찾아라 프로그래밍 마에스터)Algorithm/1일 1코테 2022. 2. 7. 12:36
https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 내 풀이 def solution(nums): n_set = set(nums) if len(n_set) < len(nums)/2: return len(n_set) return len(nums)/2 다른 사람 풀이 def solution(ls): return min(len(ls)/2, len(set(ls)))
-
[🥰프로그래머스] 신규 아이디 추천 (2021 KAKAO BLIND RECRUITMENT)Algorithm/1일 1코테 2022. 2. 4. 09:28
신규 아이디 추천 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 내 풀이 import re def solution(new_id): new_id = new_id.lower() # 소문자 변경 new_id = re.sub(r'[^a-z0-9-_.]', '', new_id) # 특정 특문, 영어, 숫자외 제거 new_id_list = list(new_id) # 리스트로 변경 for i in range(le..
-
[🥰프로그래머스] 로또의 최고 순위와 최저 순위Algorithm/1일 1코테 2022. 2. 3. 17:36
로또의 최고순위와 최저순위 https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 내 풀이 def solution(lottos, win_nums): _zero = lottos.count(0) # 0의 갯수 _coincide = 0 # 일치하는 숫자 갯수 rank = [0,6,5,4,3,2,1] # 로또 순위 -> 6개(index) 다 맞으면 1,,, # 일치하는 갯수 세..
-
[🥲 프로그래머스] 신고 결과 받기 (2022 KAKAO BLIND RECRUITMENT)Algorithm/1일 1코테 2022. 2. 3. 14:57
신고 결과 받기 https://programmers.co.kr/learn/courses/30/lessons/92334?language=python3 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 오랜만에 코테.... 몇개월 안풀었다고 다 까먹음 ㅎ^^ 1단계지만 광탈했다! 유저가 신고한 사람들 중 k번 이상 신고당한 사람들을 추출하면 되는 문제! # 다른 사람 풀이 # 다른 사람 코드 참고 def solution(id_list, report, k): answer = [0] * len(id_list) ..
-
[JPA] 지연로딩 & 즉시로딩프로그래밍/Java 2022. 1. 21. 14:17
지연 로딩 객체가 실제 사용될 때 로딩 Member member = meberDAO.find(memberId); // select * from member Team team = member.getTeam(); String teamName = team.getName(); // select * from team 객체가 실제 사용될 때 로딩 필요할 때마다 쿼리문을 이용해 호출 즉시 로딩 (최적화) JOIN SQL로 한번에 연관된 객체까지 미리 조회 Member member = meberDAO.find(memberId); // select m.*, t.* from member join team.. Team team = member.getTeam(); String teamName = team.getName(); ..
-
[객체지향] 좋은 객체 지향 설계의 원칙 - SRP, DIP, OCP프로그래밍/Spring & Springboot 2022. 1. 6. 10:50
좋은 객체 지향 설계의 원칙 SRP 한 클래스는 하나의 책임만 가져야 한다. 클라이언트 객체는 직접 구현 객체를 생성하고, 연결하고, 실행하는 다양한 책임을 가지고 있음 SRP 단일 책임 원칙을 따르면서 관심사를 분리함 구현 객체를 생성하고 연결하는 책임은 AppConfig가 담당 클라이언트 객체는 실행하는 책임만 담당 DIP 의존관계 역전 원칙 프로그래머는 추상화에 의존해야지 구체화에 의존하면 안된다. 의존성 주입은 이 원칙을 따르는 방법 중 하나다. 새로운 할인 정책을 개발하고 적용하려고 하니 클라이언트 코드도 함께 변경해야 했다. ORDER SERVICE IMPLE은 DIP를 지키며 DISCOUNT POLICY 추상화 인터페이스에 의존한느 것같았지만, FIX DISOCUNT POLICY 구체화 구현..
-
[Python] dictionary 안 맨 처음 key 출력하기프로그래밍/Python 2022. 1. 6. 09:37
https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 해당 문제를 풀던 도중! dict에 하나만 남은 key를 추출해야했다. 맨 처음엔 dict.keys()[0] (?)으로 대충 때려박으면 되겠지,,, 했는데 출력안됨 ㅎㅎ 그래서 찾아보니 Dictionary의 key들을 먼저 List로 바꿔준 후 인덱스를 통해 가져오면 된다는 것 # answer.keys() => 키들을 가져온 후 -> list..
-
[Tibero] 티베로에서 이모티콘(이모지) 저장하는 방법프로그래밍/기타 2022. 1. 5. 17:21
우리 회사는 Tibero를 사용하고 있다. 이모지도 저장하게 해달라는 요청이 들어와서 이모티콘을 넣어보니 ?로만 저장이 되었다ㅜㅜ 찾아보니 Database를 생성할 당시 character set MSWIN949 character set을 MSWIN949로 지정했다. MSWIN949는 이모지 저장이 안되고 UTF8로 바꿔줘야 한다. 이걸 바꾸려면 Tibero를 재설치해야 한다ㅠㅠ Tibero 재설치 후 Database 생성시 character set UTF8로 설정 create database "tibero" user sys identified by tibero maxinstances 8 maxdatafiles 100 character set UTF8 logfile group 1 'log001.log' s..