728x90

전체 글 95

[백준/Python] 해시 - 나는야 포켓몬 마스터 이다솜(1620)

나는야 포켓몬 마스터 이다솜 문제 설명 안녕? 내 이름은 이다솜. 나의 꿈은 포켓몬 마스터야. 일단 포켓몬 마스터가 되기 위해선 포켓몬을 한 마리 잡아야겠지? 근처 숲으로 가야겠어. (뚜벅 뚜벅) 얏! 꼬렛이다. 꼬렛? 귀여운데, 나의 첫 포켓몬으로 딱 어울린데? 내가 잡고 말겠어. 가라! 몬스터볼~ (펑!) 헐랭... 왜 안 잡히지?ㅜㅜ 몬스터 볼만 던지면 되는 게 아닌가...ㅜㅠ (터벅터벅) 어? 누구지? 오박사 : 나는 태초마을의 포켓몬 박사 오민식 박사라네. 다솜아, 포켓몬을 잡을 때는, 일단 상대 포켓몬의 체력을 적당히 바닥으로 만들어놓고 몬스터 볼을 던져야 한단다. 자, 내 포켓몬 이상해꽃으로 한번 잡아보렴. 포켓몬의 기술을 쓰는 것을 보고 포켓몬을 줄지 안줄지 결정을 하겠네. 자 한번 해보아..

[프로그래머스/Python] 해시 - 전화번호 목록

전화번호 목록 문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. 제한 사항 phone_book의 길이는 1 이상 1,000,000 이하입니다. 각 전화번호의 길이는 1 이상 20 이하입니다. 같은 전화번호가 중복해서 들어있지 않습니다. 입..

[Python] Counter: list 요소 개수 세어서 dictionary로 출력

리스트의 모든 요소의 개수를 세서 dictionary로 출력하기를 원한다면 Counter을 사용하면 된다. collections 모듈 내에 존재하므로 import collections를 해주어야한다. import collections list1 = [1, 2, 10, 1, 4, 10, 2, 1, 1, 10] print(collections.Counter(list1)) ''' >> Counter({1: 4, 10: 3, 2: 2, 4: 1})''' list2 = [1, 2, 10, 1, 4, 10, 2, 1, 1] print(collections.Counter(list2)) ''' >> Counter({1: 4, 2: 2, 10: 2, 4: 1})''' - 두 Counter 비교하기 print(collec..

Programming/Python 2021.07.11

[Python] 딕셔너리 dictionary

딕셔너리(dictionary): key-value 쌍으로 데이터를 저장하는 자료구조 딕셔너리 = {key : value} 딕셔너리 = {key1:value1, key2:value2, key3:value3, key4:value4} key를 이용해 value에 접근이 가능하다. (key 값은 중복이 될 수 없다.) 1. 딕셔너리 생성 # 딕셔너리 생성 d = { 'key1' : 1 } 2. 값 추가 # 값 추가 d['key2'] = 2 d['key3'] = 'value3' d[4] = 4 d[(5,6)] = 'value 5 and 6' #튜플 키 d['key7'] = (7, 8) #튜플 값 3. 전체 출력, key만 출력, value만 출력, key-value 쌍 출력, key로 value 출력 #전체 출력..

Programming/Python 2021.07.11

[Algorithm] 이진 탐색

- 순차 탐색 (O(N)) 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법 #순차 탐색 소스코드 구현 def sequential_search(n, target, array): #각 원소를 하나씩 확인하며 for i in range(n): #현재의 원소가 찾고자 하는 원소와 동일한 경우 if array[i] == target: return i+1 #현재의 위치 반환(인덱스는 0부터 시작하므로 1 더하기) print("생성할 원소 개수를 입력한 다음 한 칸 띄고 찾을 문자열을 입력하세요.") input_data = input().split() n = int(input_data[0]) #원소의 개수 target = input_data[1] #찾고자 하는 문자열 p..

[Python] 코드업 기초 100제

코딩테스트 스터디 1주차로 코드업 기초 100제를 풀어보고 있다. 쉬운 내용이긴 하지만 분명히 허점도 있을 것이기에 기초를 다지자 하는 마음에서 풀고 있다. 🔎 코드업 기초 100제를 풀며 알아두면 좋을 것 정리 1. 입출력 \도 안전하게 출력하려면 \\를 사용하는 것이 좋다. input().split(':') 를 사용하면 콜론 ':' 기호를 기준으로 자른다. print(?, ?, sep=':') 를 사용하면 콜론 ':' 기호를 사이에 두고 값을 출력한다 2. 출력 변환 print('%x' %n) #n에 저장되어있는 값을 16진수(hexadecimal) 소문자 형태 문자열로 출력 print('%X' %n) #n에 저장되어있는 값을 16진수 대문자 형태 문자열로 출력 10진수 형태로 입력받고 %x로 출력하..

Programming/Python 2021.07.01

[Algorithm] 정렬을 파이썬으로 구현(선택정렬, 삽입정렬, 퀵정렬, 계수정렬)

선택 정렬(Selection Sort) array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] for i in range(len(array)): min_index = i for j in range(i+1, len(array)): if array[min_index] > array[j]: min_index = j array[i], array[min_index] = array[min_index], array[i] #스와프 print(array) 삽입 정렬(Insertion Sort) array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] for i in range(1, len(array)): for j in range(i, 0, -1): #인덱스 i부터 1까지 감소하며 반복하는 문..

2021-여름학기 미국 UCI 프로그램 선발

학교에서 진행하는 2021 여름학기 미국 UCI 프로그램에 선발되었다. UCI 프로그램은 미국 얼바인 캘리포니아 주립대학교에서 진행하는 국제 프로젝트로 이번해는 코로나 때문에 온라인으로 진행된다. (하지만 겨울에 코로나가 괜찮아진다면 상황에 따라 현지교육을 제공받을 수도 있다고 한다!) 코로나 때문에 교환학생도 취소되고 아쉬웠던 찰나에 좋은 기회라 생각되어 신청했고 운이 좋게도 선발되었다! 가장 메인 프로젝트는 UCI의 현지 교수진들과 대학원생들과 함께 연구에 참여하는 것이다. 현지 교수님들께 총 14개의 프로젝트 제안서를 받았고 그 중에 제일 맘에드는 세개를 골라 제출했다. 이 중에 내가 참여하게 될 프로젝트는 'Brain-Inspired Machine Learning for Object Detecti..

✈️/UCI 2021.06.30

홍콩시티대학교 교환학생 일상 (2017 하계계절)

이전에 써둔 글 옮겨오기...🐥 첫 사진은 홍콩에 있을 때 한창 유행했던 구닥으로 찍은 홍콩 하늘! 홍콩은 가로등이 노란색이어서 특유의 분위기가 좋았당 ​ ​ 기억으로는 수업 첫날엔 조를 정했다! 우리 조는 체코, 프랑스, 대만, 그리고 한국까지 모든 국가가 다 있었당. 처음 만나서 자기소개를 했는데 내가 1학년이라고 하니까 다들 엄청 놀랐닼ㅋㅋㅋ 내가 젤 어렸다.. ㅋㅋㅋㅋㅋㅋ그리구 항상 앉던 내 자리! 저 핑크색 책은 진도나가는 책이랑 하루종일 일기처럼 배운 걸 쓰는 책이 있었다. 책들 안버려서 찾아보면 집에 있을텐데 진짜 추억이다😭. ​ 내가 젤 재밌어했고 열심히 수업참여했던 3D프린팅 수업사진☺️ ​ 교환학생 한달 과정동안 발표를 두번인가 세번인가 했다. ​ 첫번째 발표에서 우리 조는 각자의 학교..

✈️/HongKong 2021.06.25

정보처리기사 실기 약술형 정리

블랙박스 테스트 [동경원오비] 동치 분할 검사: 입력 자료에 초점 경계 값 분석: 경계 값을 테스트케이스로 선정 원인-효과 그래프 검사: 데이터 간 관계와 상황을 분석한 다음 효용성 높은 테스트케이스를 선정 오류 예측 검사: 과거의 경험, 확인자의 감각 비교 검사: 동일한 테스트 자료 제공해 동일한 결과 출력되는지 테스트 형상관리 [식통감기제]: 소프트웨어 개발 과정에서 변경사항 관리하기 위해 개발된 일련의 활동 형상 식별: 관리 대상에 이름, 관리번호를 부여하고 계층 구조로 나누어 수정, 추적 용이하도록 하는 것 형상 통제: 형상 항목 대한 변경 요구를 검토하여 현재의 기준선이 잘 반영되도록 조정하는 작업 형상 감사: 기준선 무결성 평가하기 위해 확인, 검증, 검열 과정을 통해 승인하는 것 형상 기록:..

etc 2021.05.12

[Java] 문자 ↔ 아스키코드 상호변환하기

1) public class Main { public static void main(String[] args) { //문자 -> 아스키코드 변환 System.out.println((int) '9'); //>> 57 System.out.println((int) 'A'); //>> 65 //아스키코드 -> 문자 변환 System.out.println((char) 57); //>> 9 System.out.println((char) 65); //>> A } } 2) 입력받은 문자를 아스키코드로 변환하기. public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char c = sc.next()...

Programming/Java 2020.09.14

[Java] Scanner을 통해 char형 입력 받기

자바는 int, string 등과 달리 char형을 Scanner을 통해 바로 입력받는 방법이 없습니다. 따라서 next()를 통해 string을 Scanner로 받은 다음, charAt(0)로 char형으로 바꿔주는 방법을 사용해야 해요. 여기서 0은 문자의 위치를 뜻합니다. 다음과 같은 두 방법이 존재합니다.. 더 편한 방법을 사용하시면 됩니다. 1) import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.next(); char c = s.charAt(0); System.out.println(c); } } 2) ..

Programming/Java 2020.09.14
728x90