문제 https://www.acmicpc.net/problem/11478 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 입력받은 문자열에서 서로 다른 부분 문자열이 몇 개인지 세면 된다. Reference https://reo91004.tistory.com/140 [백준 / BOJ] 11478번 서로 다른 부분 문자열의 개수 (C++, Python) 링크 : https://www.acmicpc.net/problem/11478 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www...
문제 https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 두 집합의 차집합들의 길이 합을 출력해보자 풀이 이거 풀이가 투트랙인데 둘 다 맞긴 맞았다. import sys N, M = map(int, sys.stdin.readline().split()) set_x = set(map(int,sys.stdin.readline().split())) set_y = set(map(int,sys.stdin.readline().split())) 일단 기본 ..
문제 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 두 집합(듣지 못함/보지 못함)의 교집합을 출력하시오 풀이 이 문제는 굉장히 심플한 문제다. 푸는 것 자체는 그런데 출력이 씁... import sys N, M = map(int, sys.stdin.readline().split()) not_heard = set() #듣지 못한 사람 not_saw = set() # 보지 못한 사람 for _ in range(N): not_heard.add(..
이거 참고로 노션에는 기록을 못한다... 차마 기록할 페이지를 어디다 만들어야 할 지 모르겠음... ㅋㅋㅋㅋㅋ 문방구 오락기에서 게임하다가 엄마한테 등짝맞던 시절... 아니 그니까 초딩때를 이야기하는거다. 아무튼, 우리가 나눗셈을 처음 배웠을 때 6 나누기 4는 몫이 1이고 나머지가 2라 1 ... 2 이런 식으로 표현했다. 근데 콤퓨타는 기본적으로 몫과 나머지따원 모르겠고 난 소수점으로 쫑낼것이다! 모드란 말이죠. 그니까 응애 애기피츄 책사죠 하던 시절의 그 나눗셈을 해보자 이겁니다. 뭘로? 파이썬으로. 왜 피츄인지는 내 닉네임을 보면 납득할 수 있을것이다. 본인이 라이츄기 때문에 유년기가 피츄인거다. 일단 나눗셈의 용어에 대해 알고 가도록 하자. 나눗셈 하면 피제수와 제수라는 두 개의 용어가 있는데(..
문제 https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 주어진 두 수의 '최소공배수'를 출력하시오 Reference https://namu.wiki/w/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C%20%ED%98%B8%EC%A0%9C%EB%B2%95 유클리드 호제법 - 나무위키 손으로 계산할 때는 제수와 피제수의 값 크기를 비교해서 적절하게 배열하지만 수식이나 코드로 나타낼 때는 신경쓰지 않아도 되는데, ..
https://koreanraichu.tistory.com/311 연결 리스트 JS는 토이프로젝트 해야 하는데 뭐 또 생각나면 만들겠음... 솔직히 프론트엔드가 쓸 일은 없겠지만 알아서 나쁠거 없잖아요? 아무튼. 배열은 만들 때 메모리 공간의 연속된 공간을 할당받는다. koreanraichu.tistory.com 여기서는 대충 이론적인 설명(...)을 했다면 이제 만들어보자. 이게 왜 분리가 됐냐면 티스토리와 워드프레스는 이론 카테고리와 코딩 카테고리가 나뉘어져 있다. 오늘의 참고문헌은 https://velog.io/@yeseolee/python-%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%EC%97%B0%EA%B2%B0%EB%A6%AC%EC%8A%A4%ED%8A%B8Linked-..
문제 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,0 www.acmicpc.net 숫자 카드에서 특정 숫자가 몇 개인지 찾아서 출력하기 Reference https://www.daleseo.com/python-collections-counter/ 파이썬 collections 모듈의 Counter 사용법 Engineering Blog by Dale Seo www.daleseo.com https://chancoding.tistory.com/..
enumerate는 해시 테이블을 만들어보는 과정에서 나왔던건데, 반복문 뺑뺑이 도는 역할을 한다. 근데 이제 for문 하면 빠질 수 없는 for i in 아무개 없이 할 수 있다. import sys text = sys.stdin.readline().rstrip() for i in text: print(i) 텍스트를 입력받아서 한글자씩 출력하는 코드. for문은 이렇게 쓴다. 이건 직접 글자에 접근해서 print(i)로 출력했지만 보통은 for i in range(len(text))로 주고 print문을 작성하게 된다. 그거 말고도 가끔 그럴때 있잖음. 인덱스랑 같이 뽑고 싶잖아요? 그러면 어떻게 하냐... import sys text = sys.stdin.readline().rstrip() j = 0..
문제 https://www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 로그 데이터를 바탕으로 회사에 있는 사람이 누구인지 사전 역순으로 출력하기 풀이 로그 데이터는 이름이랑 상태가 있는데 상태가 enter면 출근한거고 leave면 퇴근한거다. 그니까 이걸 토대로 현재 회사에 있는 사람을 찾으면 되는데... 아 이거 머리 터진다 그죠? 근데 머리 터질 일이 1도 없음. 일단 이 문제의 카테고리가 집합인 것을 잊지 말자. i..
요전에 해시 테이블 할 때 나왔던건데, zip이 뭔지 한번 알아보는 시간을 가져보자. enu뭐시기도 나중에 알아볼거니까 안심하시고. molecule_name = ["Ethanol", "Glucose", "Methanol"] molecule_formula = ["C2H5OH", "C6H12O6", "CH3OH"] 여기 길이 3인 1차원 배열 두 개가 있다. 이 배열 두 개를 하나로 묶고 싶은데 그럼 어떻게 하나요? molecular_list = zip(molecule_name,molecule_formula) for i in molecular_list: print(i) zip()으로 묶어주면 알아서 튜플로 변환해준다. molecule_name = ["Ethanol", "Glucose", "Methanol",..
https://koreanraichu.tistory.com/289 해시 테이블 처음 설명을 본 본인 표정: 그럴만 했다. 뭔 소린지 1도 모르겠거든... 일단 얘는 자료구조다. 이름이 테이블인데 왜 자료구조인지는 주변에 계신 개발자에게 물어보도록. 아무튼 이 테이블은 데 koreanraichu.tistory.com 여기서 이어진다. 솔직히 이론적인거 백날 설명해봐야 뭔 소린지 모르잖음? 그니까 같이 만들어봅시다. 참고로 이번에 참고한 곳은 https://wikidocs.net/193049 06. 파이썬으로 해시 테이블 구현하기 해시 테이블은 언어에 따라 해시 맵, 사전 등으로 부른다. 해시 테이블은 키(key)와 값(value)으로 구성된 자료 구조다. 여기서 중요한 것은 해시함수다. 키를 해시함수에 …..
문제 https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 주어진 집합 안에 있는 단어가 아래 집합에서 몇 개나 포함되는지를 확인하시오 풀이 솔직히 김구라짤 넣고싶다... 보자마자 눈으로 욕했기때문... 사실 이 파트 들어갔으면 해시 테이블에 대해 서술을 해야 하는데 이거는 내가 이해를 못했음... 부스트코스 복기해야되나... OTL 아무튼 풀어봅시다. 이게 보자마자는 뭔 개소린가 싶을텐데 일단 예제를 보자. 5 11..