전체 글
-
프로그래머스 (Level 2) - 기능개발Coding Test/Coding Test 문제 풀이 2021. 12. 28. 12:01
문제 설명 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 풀이 문제를 해결하기 위해서 다음과 같이 두 단계로 나누었다. 1. 각 기능이 완료되기까지의 남은 일수를 구한다. 2. 계산한 남은 일수를 통해 배포마다 몇 개의 기능이 배포되는지를 구한다. 첫 번째 단계는 각 기능의 작업 진도와 100과의 차이를 구한 후, 각 기능의 작업 속도로 나머지 연산을 함으로써 쉽게 구할 수 있었다. 두 번째 단계는 List 자료구조를 활용하였으며, 가장 앞에 있는 기능의 남을 일수를 current 변수로 저장하고 배..
-
프래그래머스 (Level 2) - 전화번호 목록Coding Test/Coding Test 문제 풀이 2021. 12. 28. 11:00
문제 설명 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 풀이 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하는 문제이다. 처음에는 이중 반복문을 통해 전화번호부 내 모든 번호들을 startsWith() 함수를 이용해서 비교하는 방식으로 해결하려고 했었다. 하지만, 시간 효율성을 측정하는 문제여서 이 방법은 적절하지 않다고 생각했다. 전화번호를 비교하기 위해서는 빠른 검색에 유용한 자료구조가 필요했고, HashSet 자료구조를 사용했다. 우선, 전화번호부(phone_..
-
Sneakers Mania - 카카오 로그인(3)Projects/Problem & Solution 2021. 12. 27. 21:02
인증 코드 받기 인증 코드란? 인증 코드 받기는 카카오 로그인을 시작하는 단계로써, 카카오 로그인 동의 화면을 호출하고, 사용자 동의를 거쳐 인증 코드 발급을 요청하는 API이다. 사용자는 동의 화면에서 서비스 이용 시 필요한 사용자 정보 및 권한 제공에 동의하고 로그인을 요청하거나 로그인을 취소할 수 있다. 사용자가 필수 동의 항목에 모두 동의한 뒤 "동의하고 계속하기" 버튼을 누르면, 카카오 인증 서버는 해당 사용자에 대한 인증 코드를 발급해 서비스의 redirect_uri에 전달한다. 인증 코드를 요청하기 위한 URI는 카카오 개발자 홈페이지에서 확인할 수 있으며, 위 사진과 같다. 1. 인증 코드 요청 ㆍ loginForm.jsp 파일에 카카오 로그인 버튼을 생성한 후, href 속성에 위에서 확..
-
Sneakers Mania - 카카오 로그인(2)Projects/Problem & Solution 2021. 12. 27. 17:55
카카오 로그인 환경설정 ㆍ 카카오 개발자 홈페이지에 접속을 한 후 로그인을 한다. 로그인이 완료되면 위 사진에 표시된 내 애플리케이션에 접속한다. ㆍ 애플리케이션 추가하기 버튼을 누른다. ㆍ 앱 이름과 사업자명을 입력하고 저장 버튼을 클릭한다. ㆍ 왼쪽 메뉴바에서 요약 정보 메뉴를 선택한 후 생성된 REST API 키를 확인하고 따로 저장한다. ㆍ 왼쪽 메뉴바에서 플랫폼 메뉴를 선택한 후 Web 사이트 도메인을 추가해준다. ㆍ 왼쪽 메뉴바에서 카카오 로그인 메뉴를 선택한 후 카카오 로그인을 활성화시켜준다. ㆍ 카카오 로그인을 활성화시킨 후 하단에 개발자가 사용할 Redirect URI를 설정한다. ㆍ 마지막으로, 왼쪽 메뉴바에서 동의 항목 메뉴를 선택한 후 개발자가 요청할 사용자의 개인정보를 설정한다. ..
-
Sneakers Mania - 카카오 로그인(1)Projects/Problem & Solution 2021. 12. 27. 14:54
OAuth란? OAuth의 개념 OAuth는 Open Authorization의 약자이다. OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로 사용된다. 즉, 애플리케이션의 사용자 비밀번호를 제3자에게 제공하지 않으면서 인증 및 권한 부여를 관리해주는 오픈형 프로토콜이다. 예를 들어서, 쇼핑몰과 같은 사이트에 접속할 때 네이버나 카카오로 로그인을 할 수 있는 것처럼 별도의 정보 제공 없이 로그인을 제공하는 플랫폼의 아이디만 있으면 서비스를 이용할 수 있게 해주는 것이 바로 OAuth이다. OAuth 2.0의 탄생 웹이 성장하면서 많은 사이트들이 분산 서비스에 의존하게 되고, third-pa..
-
프래그래머스 (Level 1) - 모의고사Coding Test/Coding Test 문제 풀이 2021. 12. 27. 12:10
문제 설명 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 풀이 int[] person01 = { 1, 2, 3, 4, 5 }; int[] person02 = { 2, 1, 2, 3, 2, 4, 2, 5 }; int[] person03 = { 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 }; 각각의 수포자가 문제를 찍는 방식을 배열로 저장한다. for (int i = 0; i < answers.length; i++) { if (person01[i % person01.length] == answers[i..