분류 전체보기
[프로그래머스] 삼각 달팽이 / 파이썬 / Python / 월간 코드 챌린지 시즌1
💡solutions ) 💬 피라미드 배열 만들고, 삼각형을 기준으로 if문 처리 (각 선분에 해당하는 3가지 조건으로 처리) 💬 해당 문제를 풀면서 list index out of range가 많이 나서 고생을 좀 했다..!!!!😂 💬 인덱스 에러가 나지 않게 while문 안에서 break 조건을 적절히 넣어줘야 한다 ->j, k 범위를 체크하거나 arr[j][k] 값이 있는지 확인하는 조건을 넣었음 💬 최근 본 코테에서 2차원 배열 리스트를 활용하는 문제가 나왔는데 상당히 어렵게 느껴졌다. 해당 유형의 문제를 더 연습해야겠다! 🎫code ) def solution(n): arr = [[0] * _ for _ in range(1, n + 1)] num = 1 j = 0 k = 0 for i in rang..
MySQL로 DB 구축한 카카오뱅크의 혁신, '울드라맨'
💬 예전 카카오뱅크는 MySQL이라는 오픈소스 DB를 은행의 주요 시스템에 적용해서 IT업계에서 화제가 된 바 있다. 대부분의 시중은행은 ‘오라클 DB’라는 제품을 이용해서 데이터, 즉 고객의 돈을 관리하는데 이는 안정성과 성능 면에서 이미 검증된 제품이기 때문이다. 그러나 한 가지 단점은 많은 돈이 필요하다는 것이다. 비싸긴 하지만 안정성을 위해 시중은행들이 오라클 DB를 사용하는 것과 달리 카카오뱅크는 오픈소스인 MySQL 중심으로 데이터베이스를 설계했다. 가장 큰 이유는 비용절감일 것이지만, 고가의 오라클 DB에 들어가는 비용을 절감하면 고객에게 더 많은 이익을 제공하거나 다른 혁신에 투자할 수도 있다. 그렇다면 카카오뱅크는 어떻게 MySQL을 통해 고객 데이터를 지킬 수 있는 것일까? 🔖금융 데이..
[프로그래머스] n진수 게임 / 파이썬 / Python / 2018 KAKAO BLIND RECRUITMENT
💡solutions ) 💬 진수 변환을 잘 몰랐는데 이번 문제 풀면서 정확히 알게 됐다. 해당 진수로 숫자를 나누며 나머지를 누적하는 방식. 💬 진수 변환 함수는 재귀로도 풀 수 있는데 이번에는 while 반복문을 이용해서 구했고, 이때 0인 경우를 빼먹지 않기 위해 if조건문을 넣어야 한다. 💬 solution 함수에서 두 가지 for문 ① 첫 번째는 t*m까지의 숫자를 진수 변환 해주는 것. ② 두 번째는 튜브가 말해야 하는 숫자만 찾는 것. 🎫code ) def change(num, n): numbers = '0123456789ABCDEF' r = '' if num == 0: return '0' while num > 0: r = numbers[num % n] + r num = num // n ret..
[프로그래머스] SQL LEVEL 1 전체 /Oracle /오라클 /SELECT
📍 프로그래머스 SQL 레벨1 총 10문제 (SELECT) 📍 ⚪ 최댓값 구하기 SELECT MAX(DATETIME) FROM ANIMAL_INS ⚪ 모든 레코드 조회하기 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID ⚪ 역순 정렬하기 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC ⚪ 아픈 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' ORDER BY ANIMAL_ID ⚪ 어린 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION != 'Aged' OR..
[프로그래머스] 영어 끝말잇기/ 파이썬 / Python/ Summer/Winter Coding(~2018)/ 카카오 코테
💡solutions ) 💬 로직은 크게 끝말잇기가 유효한지 for문을 돌며 확인 -> 불가능한 경우는 총 2가지(이미 말한 단어를 다시 말한 경우와 앞단어의 마지막과 뒷단어의 첫 번째가 같지 않은 경우) * 번호와 차례를 구할 때는 아랫처럼 구하고자 하는 정확한 값이 나오도록 덧셈 처리 💬 번호를 나타내는 idx는 i를 n으로 나눈 나머지에 +1를 해주기 💬 차례를 나타내는 cnt는 n의 배수 번째인지 아닌 지에 따라 분기 처리해야 함 🎫code ) def solution(n, words): tmp = [words[0]] # 첫 번째 단어는 먼저 넣고 시작 for i in range(1, len(words)): # 두 번째 단어부터 시작해서 끝말잇기 유효한지 확인 if words[i - 1][-1] !=..
[프로그래머스] 캐시/ 파이썬/ Python/ deque/ LRU / 2018 KAKAO BLIND RECRUITMENT /카카오 코테
💡solutions ) LRU(Least Recently Used) 알고리즘 : 가장 최근에 사용되지 않은 것이라는 의미로, 오랫동안 사용하지 않았던 데이터는 앞으로도 사용할 확률이 적다는 것이다. 이는 한정된 캐시 사이즈가 꽉 차고 새로운 캐시를 넣으려고 할 때, 기존 캐시 중 최근까지 가장 사용되지 않은 데이터를 제거하는 알고리즘이다. 💬 첫 번째 if문 -> cacheSize가 0인 경우 참조하는 값이 없으므로 cities 모든 요소가 cache miss로 실행시간이 5이다. 💬 대소문자 구분하지 않으니 모두 소문자로 처리 -> lower() 메소드 💬 for문 -> 각 city가 buffer에 있는 지 확인하는데 ① 없는 경우 buffer가 cacheSize만큼 꽉 차 있는 지 확인한다. - ca..
카카오페이, 마이데이터 기반 자산관리 서비스 '버킷리스트'
📚마이데이터 기반의 자산관리 서비스 ‘버킷리스트’ 마이데이터 제도가 시행된 이후 카카오페이의 본격적인 행보가 시작됐다. 카카오페이는 22일 카카오페이증권과 함께 마이데이터 기반의 자산관리 서비스 ‘버킷리스트’를 선보인다고 밝혔다. 버킷리스트는 이용자들이 원하는 목표를 스스로 설정하고, 이를 이루기 위한 자산관리를 돕는 서비스다. 카카오페이는 버킷리스트를 출시하며 자회사인 카카오페이증권과 손을 잡았다. 카카오페이증권은 계좌를 계설할 수 있기 때문이다. 버킷리스트 계좌가 카카오페이증권 계좌에 생성된다. 카카오페이는 계열사들과 함께 손을 잡고 금융과 비금융을 아우르는 데이터 생태계를 구축할 방침이다. 카카오 생태계 안에는 무수히 많은 정보가 있다. 예를 들어 카카오 계열사의 데이터를 종합하면 이용자의 금융활동..
[프로그래머스] 뉴스 클러스터링/ 파이썬/ Python/ 2018 KAKAO BLIND RECRUITMENT/ 카카오 코테
💡solutions ) 💬 로직은 크게 2가지. 문자열에서 영문자 조합으로 된 유효한 글자쌍 찾기 / Counter로 합집합, 교집합 연산 후 길이 구하기 💬 대소문자 차이는 무시하므로 모두 대문자로 바꿨다 -> upper()메소드 사용 💬 각 문자열을 2개씩 끊어 다중집합으로 만드는데 영문자로 된 조합만 lst에 append해준다 -> isalpha()로 문자인지 확인 💬 모두 공집합인 경우에는 65536 바로 리턴 💬 collections 모듈의 Counter 클래스 사용. 처음에 set을 떠올렸는데 set의 경우 중복을 제거하기 때문에 제대로된 결과값을 얻기 어려워서 Counter을 사용했음. 💬 Counter을 &합집합 연산(inter), |교집합 연산(union)을 하고 길이를 구해 결과값 리턴..
KB 국민은행 코어뱅킹 클라우드 전환
📚 KB 국민은행의 코어뱅킹 클라우드 전환 준비 KB국민은행이 코어뱅킹의 클라우드 전환을 위한 준비에 나섰다. 만약 계획대로 진행된다면 핵심 시스템을 클라우드로 전환한 국내 시중은행의 첫 사례로, 업계에 반향을 일으킬 것으로 보인다. 국민은행은 지난 5일, ‘KB국민은행 코어뱅킹 혁신을 위한 전략 수립’을 위한 컨설팅 사업자 대상의 입찰공고를 내놨다. 원래 이 사업은 KB금융그룹의 클라우드 전환 사업에 포함됐으나, 국민은행 특화 사업이라는 점이 고려되어 국민은행에서 따로 재발주했다. 💬 클라우드 전환에 따른 문제와 장점 코어뱅킹은 예금, 적금, 외환, 대출, 카드 등 상품이나 서비스를 사용할 수 있도록 금융업무 시스템 전반을 개발하고 관리하는 시스템이다. 민감 정보가 외부 인프라에 저장될 경우 발생할 수..
NH농협은행 금융권 최초, AI기반 불완전판매 점검 시스템
📚 인공지능 기반 자동화 로봇 NH농협은행은 금융권 최초로 인공지능(AI) 기술 기반의 RPA(로봇프로세스자동화) 시스템을 통해 ‘투자상품 불완전판매 점검 고도화 프로젝트’를 완료했다고 밝혔다. 🔖RPA(Robotics Process Automation, 로봇프로세스자동화)는 사람이 하는 반복적이고, 표준화가 가능하며, 규칙에 기반한 일을 로봇이 대신하도록 하는 것을 말한다. 농협은행 WM사업부와 디지털전략부의 협업으로 이뤄진 이번 ‘투자상품 불완전판매 점검 고도화 프로젝트’는 기존 인력에 의존한 점검업무를 자동화 로봇으로 대체해 불완전판매 탐지 정확도와 효율성을 높였다. 인공지능 기반 자동화 로봇은 매일 전국 영업점에서 발생하는 수천 건의 투자상품 거래신청서 점검을 통해 △서류 불비항목 추출 △미흡사항..
NH농협은행 '디지털 휴먼 뱅크'로 전환
📚 농협은행의 슬로건, '디지털 휴먼 뱅크' 농협은행의 디지털 혁신을 이끌어온 이대훈 행장이 올해 내건 경영 키워드는 ‘디지털 휴먼 뱅크’로의 대전환이다. 이 행장 취임 이후 지난 2년간 디지털화에 전사적인 역량을 집중해온 농협은행으로서는 올해가 그 결실을 보여줄 ‘디지털의 정점’인 셈이다. 단순히 모바일 채널의 편리성을 강화하는 것을 넘어 농협은행 디지털 플랫폼을 이용하는 소비자에게 감동을 안겨주겠다는 게 목표다. 개인을 초 단위로 분석하고 이해해 매 순간에 맞는 ‘초개인화’ 서비스를 제공하겠다는 것이다. 올해 농협은행의 경영과제에 ‘사람’이 핵심 키워드로 자리한 이유다. 📚 초개인화 서비스 요즘은 사람 한 명을 1이 아닌 0.2로 쪼개 분석한다고 한다. 아침·점심·저녁에 따라 개인의 특성과 수요가 달..
[프로그래머스] 올바른 괄호 /파이썬 /Python
💡solutions ) 💬 반복문에서 나온 괄호가 "( " 괄호면 stack에 넣고, ")"가 나오면 stack의 맨 마지막 요소가 "("괄호로 맞는 지 확인하고 짝이 맞는 경우 맨 마지막 요소인 "("를 pop으로 제거한다. 즉, "("와")"가 만날 때만 stack에서 "("제거 💬 단, stack이 비어있을 때 나온 요소가 ")"이면 올바르지 않은 괄호이니 바로 False를 리턴한다. 💬 그 아래 참고로 가져온 코드는 괄호 종류가 두개이니 "("인 경우 +1, ")"인 경우 -1을 하여 최종 결과값이 0이 되는지 확인하는 로직이다. 🎫code ) ✔ 나의 풀이 def solution(s): stack = [] for i in range(len(s)): if not stack and s[i] == '..