본문 바로가기
  • Tried. Failed. Logged.
728x90

분류 전체보기720

프로그래머스 - 핸드폰 번호 가리기, C++ https://programmers.co.kr/learn/courses/30/lessons/12948 코딩테스트 연습 - 핸드폰 번호 가리기 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자 programmers.co.kr #include #include using namespace std; string solution(string phone_number) { int len = phone_number.size(); for( int i=5; i 2021. 11. 18.
프로그래머스 - 상위 n개 레코드, MySQL https://programmers.co.kr/learn/courses/30/lessons/59405 코딩테스트 연습 - 상위 n개 레코드 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME ASC limit 1 ORDER BY DATETIME ASC로 정렬을 해준 다음에, limit 1를 줘서 하나만 가져오게 합니다. 2021. 11. 18.
프로그래머스 - 서울에서 김서방 찾기, C++ https://programmers.co.kr/learn/courses/30/lessons/12919 코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니 programmers.co.kr #include #include using namespace std; string solution(vector seoul) { string answer = ""; for(int i=0; i 2021. 11. 18.
프로그래머스 - 문자열 다루기 기본, C++ https://programmers.co.kr/learn/courses/30/lessons/12918 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 programmers.co.kr #include #include using namespace std; bool solution(string s) { bool answer = true; for( int i=0; i 'A' ){ answer = false; break; } } return (s.size() == 4 || s.size() == .. 2021. 11. 18.
프로그래머스 - 문자열 내림차순으로 배치하기, C++ https://programmers.co.kr/learn/courses/30/lessons/12917?language=cpp 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr #include #include using namespace std; string solution(string s) { string answer = ""; for(int i=0; i < s.size(); i++) for(int j=i; j < s.size(); j++) if( s[i] < s[j] ) swap(.. 2021. 11. 18.
프로그래머스 - 여러 기준으로 정렬하기, MySQL https://programmers.co.kr/learn/courses/30/lessons/59404 코딩테스트 연습 - 여러 기준으로 정렬하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME ASC, DATETIME DESC; 2021. 11. 17.
프로그래머스 - 2016년, 파이썬 & 자바스크립트 https://programmers.co.kr/learn/courses/30/lessons/12901?language=javascript 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr def solution(a, b): answer = '' weeks = ['SUN','MON','TUE','WED','THU','FRI','SAT'] months = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] sum = 0 for month i.. 2021. 11. 17.
FTZ - Level 4 Level 4입니다. 누군가가 /etc/xinetd.d/에 백도어를 심어놓았다고 알려주는군요. 폴더이름에 .d가 붙는 거 보면 아마 데몬 전용 폴더인 거 같군요. 서비스 관련 설정 폴더일 것으로 예상을 해봅니다. 그 폴더를 살펴보니 정말 의심스럽게 생긴 backdoor라는 파일이 하나 있네요. cat 명령어로 파일의 내용물을 살펴봅시다. service finger라는 것을 보면 finger 명령어의 서비스 설정인가 봅니다. finger는 현재 리눅스에 접속한 사용자의 정보들을 확인할 수 있는 명령어입니다. 위에 처럼 finger를 입력하니 누가 서버에 접속을 하였는지 사용자의 이름과 접속 시간, 아이피 등을 확인이 됩니다. 아무튼 다시 backdoor의 내용을 보면 user = level5라는 것을 보면.. 2021. 11. 17.
FTZ - Level 3 이번에는 Level 3입니다. 저번과 마찬가지로 hint를 봅시다. 힌트는 사용자에게 주소를 입력받아 dig 명령어로 dns 서버에게 아이피를 가져오는 프로그램의 소스입니다. 이를 이용하여 level4의 권한을 얻으라고 하네요. 아래에는 또 동시에 여러 명령어를 사용하려면? 문자열 형태로 명령어를 전달하려면?이라는 추가 힌트가 있습니다. 이번에도 마찬가지로 find로 level 4 권한의 파일들이 뭐가있나 들여다봅시다. /bin/autodig라는 프로그램이 있군요. 실행을 시켜보니 /bin/autodig 뒤에 호스트 인자를 넣으라고 알려주는군요. 이곳에 임의의 아이피를 넣어봅시다. /bin/autodig 8.8.8.8을 넣으니 dig 명령어가 정상적으로 작동을 하여 화면에 결과를 출력을 시켜주는군요. 이.. 2021. 11. 17.
FTZ - Level 2 이전과 마찬가지로 level2에 로그인하여 hint에 대한 내용을 들여봐 봅시다. "텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데 ..."라는 힌트가 있군요. 여기서 말하는 텍스트 파일 편집은 vim 에디터를 말하는 것일껍니다. vi는 리눅스같은 CLI 환경에서 많이 유명한 텍스트 기반 파일 편집기인데요. 이 녀석에게는 명령어를 실행시키는 아주 특이한 기능도 포함하고 있습니다. 저희의 목표는 level3의 패스워드를 알아내는 것이므로, 이전과 똑같이 find 명령어를 사용해줍시다. 그러게 되면 /usr폴더에 있는 bin 폴더에 editor라는 실행 프로그램이 있는데 이것을 한번 들여다볼까요? ls /usr/bin/editor -al 위의 명령어로 editor의 세부 사항을 봅시다. 제일 왼쪽에 .. 2021. 11. 17.
FTZ - Level 1 FTZ putty 한글 깨짐 해결 방법 https://haerinn.tistory.com/79 [FTZ] 해커스쿨 FTZ 로컬 서버 구축하기 1. VMware Workstaion 설치 https://www.vmware.com/go/getworkstation-win https://gist.github.com/gopalindians/ec3f3076f185b98353f514b26ed76507 접속하여 시리얼 키 입력 2. FTZ Server 설치 https://drive.google.com/file/d/1krZs8e6QG_l_mxMI3eCY11F-l haerinn.tistory.com 레벨 1을 풀기 위해서는 level1 유저의 계정으로 로그인을 해야 합니다. 아이디 level1 비밀번호 level1 위의 테.. 2021. 11. 17.
프로그래머스 - 두 정수 사이의 합 https://programmers.co.kr/learn/courses/30/lessons/12912 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr #include #include using namespace std; long long solution(int a, int b) { long long answer = 0; if( a > b ) swap(a, b); for(int i=a; i 2021. 11. 17.
728x90