본문 바로가기

분류 전체보기127

10431.줄세우기 https://www.acmicpc.net/problem/10431 10431번: 줄세우기 초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여할 땐 키가 가장 작은 아이가 1 www.acmicpc.net 1.설명 문제를 보자마자 이거 무조건 sort 문제겠다 싶었슴다!! 학교에서 C++로 배웠던 linked list가 제일 먼저 떠올랐는데요?? 근데 linked list은 공간을 만들기 위해 한발짝 뒤로 물러가진 아니하진아니한가... 라는 생각이 들었습니다.(어떤 견제든 환영합니다!!) 따라서 sort 방법이랑 search 기법을 많이 배웠는데 딱히 완벽하게 정리를 안해봤다는 생각이 들어서 이번 기법은.. 2024. 1. 2.
9655. 돌게임 https://acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 1.설명 문제를 딱 보자마자 일단 해보자라는 생각이 들었습니다. n=1 상근1 -> 상근 n=2 상근1 창영1->창영 n=3 상근3,상근1 창영1 상근1->상근 n=4 상근1 창영3, 상근1 창영1 상근1 창영1,상근3 창영1 -> 무조건 창영이가 이김 n=5 상근1 창영3 상근1,상근1 창영1 상근3 or 상근3 창영1 상근1 -> 상근이가 무조건 이김 보니까 홀수일때 상근이가 이기고, 짝수일때 창영이가 이기는걸 볼 수 있었습니다. 근데~~~~~여기서 끝내면 공부가 전혀 안되겠죠?? 3학년 2학기때 들었던 알고리즘 수업중에.. 2024. 1. 2.
Python(1)-Python 기초 아예 쌩늅늅이들을 위해 정리를 해보려고해용 :) Python 파이썬은 프로그래밍언어 작성 후, 컴파일이 아닌 인터프리터를 통해 실행된다. 1991년 Guido van Rossum에 의해 개발되었다. (사실은 java 보다 4년 일찍 출시되었다.) 객체 지향 언어이며 동적 타이핑 언어 인터프리터랑 컴파일러랑의 비교를 해볼까요? 인터프리터와 컴파일러는 사람이 쓰는 개발언어를 기계어로 번역해주는 것입니다. 컴파일러는 단어의 뜻과 비슷하게 프로그램 전체를 스캔하여 이를 모두 기계어로 한번에 번역합니다. 인터프리터는 프로그램 실행시 한 번에 한문장씩만 기계어로 번역합니다. 인터프리터와 컴파일러 둘다 여어와 같은 인간의 언어로 작성한 코드를 컴퓨터가 이해할 수 있도록 변환시킨다는 점에서는 같습니다. 하지만 인터프리.. 2024. 1. 2.
Web crolling이라 쓰고 사실 scraping인 멜론 TOP#100 웹 크롤링이란? 'URL을 탐색해 반복적으로 링크를 가져오는 과정'입니다.웹 크롤링은 단어 자체에서 보다시피 웹페이지를 찾아다니며 정보를 수집합니다. 대표적인 웹 크롤링으로는 검색엔진의 웹 크롤러가 하는 일을 예로 들 수 있습니다.웹 크롤러는 URL을 수집하고 웹 페이지를 복사하여, 수집한 웹 페이지에 index을 부여해 사용자에게 더 신속하게 정보를 제공합니다. 웹 스크래핑이란? '우리가 정한 웹 페이지에서 데이터를 추출하는 것'입니다. 우리가 특정 주제의 뉴스만을 가져오거나, 인기검색어 정보를 가져오는 것, 어떤 상품의 가격을 모니터링하는 것 모두 웹 스크래핑입니다. 웹 스크래핑을 웹 데이터 추출, 웹 하베스팅이라고도 부릅니다. 웹 크롤링과 웹 스크래핑은 모두 정보를 추출해온다는 데서는 공통점을 지니.. 2023. 12. 29.
11723.집합 https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 1.설명 일단 문제에서 집합에 따른 여러 조건들을 수행해야하는데 그렇게 어려워보이지않았습니다. 일단 실패한 코드 먼저 보시죠. m = int(input()) s = set() for _ in range(m): arr = list(input().split()) c = arr[0] if c == 'add': s.add(int(arr[1])) elif c == 'remove': try: s.remove(int(arr[1])) except.. 2023. 12. 28.
2941.크로아티아 알파벳 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 1.설명 단어를 input 받은후 대체해야할 단어를 array안에 저장해놓고, replace함수를 활용하여 단어를 대체했습니다!! 이번 문제에서 알아야하는건 replace 함수였던거 같습니다. replace 함수에 대해서 좀더 잘 알아볼께용 replace는 문자열을 변경하는 함수로 문자열 안에서 특정 문자를 새로운 문자로 변경하는 기능을 가지고 있습니다. 변수.. 2023. 12. 28.