분류 전체보기
-
문제 매칭점수가 가장 높은 웹페이지 구하기 (여러 개라면 그 중 번호가 가장 작은 것) 기본점수 = 검색어가 등장하는 횟수 (대소문자 무사) 외부 링크 수 = 다른 외부 페이지로 연결된 링크 개수 링크점수 = (해당 웹페이지로 링크가 걸린 다른 웹페이지의 기본점수 / 외부 링크 수)의 총합 매칭점수 = 기본점수 + 링크점수 1 형태 모든 url은 http://로만 시작 풀이 크게 4가지 작업으로 나눌 수 있다. 1) 해당 페이지의 url 찾기 re 모듈을 사용해 찾은 뒤, 해당 url의 인덱스를 저장한다. 2) body 부분에서 기본 점수 계산하기 re 모듈을 사용해 body 부분만 추출하고, 특수문자를 모두 공백으로 처리한 뒤, 매칭되는 단어 개수를 센다. 3) body 부분에서 외부 링크 추출하기 r..
[2019 KAKAO BLIND RECRUITMENT] 매칭 점수문제 매칭점수가 가장 높은 웹페이지 구하기 (여러 개라면 그 중 번호가 가장 작은 것) 기본점수 = 검색어가 등장하는 횟수 (대소문자 무사) 외부 링크 수 = 다른 외부 페이지로 연결된 링크 개수 링크점수 = (해당 웹페이지로 링크가 걸린 다른 웹페이지의 기본점수 / 외부 링크 수)의 총합 매칭점수 = 기본점수 + 링크점수 1 형태 모든 url은 http://로만 시작 풀이 크게 4가지 작업으로 나눌 수 있다. 1) 해당 페이지의 url 찾기 re 모듈을 사용해 찾은 뒤, 해당 url의 인덱스를 저장한다. 2) body 부분에서 기본 점수 계산하기 re 모듈을 사용해 body 부분만 추출하고, 특수문자를 모두 공백으로 처리한 뒤, 매칭되는 단어 개수를 센다. 3) body 부분에서 외부 링크 추출하기 r..
2023.09.04 -
문제 회전판에 N개의 음식이 있고, 음식을 섭취하는데 일정 시간이 소요된다. 1번부터 1초 동안 섭취한 후 다음 음식을 섭취한다. 회전판은 음식을 번호 순서대로 돌아간다. 먹방을 시작한지 K초 후, 몇 번 음식을 먹어야 하는지 구하기 더 섭취해야 할 음식이 없다면 -1 반환한다. 정확성 테스트 1
[2019 KAKAO BLIND RECRUITMENT] 무지의 먹방 라이브문제 회전판에 N개의 음식이 있고, 음식을 섭취하는데 일정 시간이 소요된다. 1번부터 1초 동안 섭취한 후 다음 음식을 섭취한다. 회전판은 음식을 번호 순서대로 돌아간다. 먹방을 시작한지 K초 후, 몇 번 음식을 먹어야 하는지 구하기 더 섭취해야 할 음식이 없다면 -1 반환한다. 정확성 테스트 1
2023.09.04 -
문제 좌표가 주어졌을 때 전위 순회와 후위 순회의 결과 리턴하기 자식 노드의 y값은 항상 부모 노드보다 작다. V노드의 왼쪽 서브트리의 x값은 항상 V의 x값보다 작고 오른쪽 서브트리는 크다. 1
[2019 KAKAO BLIND RECRUITMENT] 길 찾기 게임문제 좌표가 주어졌을 때 전위 순회와 후위 순회의 결과 리턴하기 자식 노드의 y값은 항상 부모 노드보다 작다. V노드의 왼쪽 서브트리의 x값은 항상 V의 x값보다 작고 오른쪽 서브트리는 크다. 1
2023.09.03 -
문제 A가 B의 친구가 되려면 두 사람이 친구거나, A와 친구이고 B와 친구인 C가 존재하면 된다. 가장 친구의 수가 많은 사람의 친구 수 구하기 풀이 A와 거리가 1 또는 2인 노드 개수 구하기 import sys input = sys.stdin.readline N = int(input()) graph = [list(input().strip()) for _ in range(N)] cnt = [0] * N for i in range(N) : for j in range(N) : if i == j : continue is_friend = 0 # i와 j가 친구인 경우 if graph[i][j] == 'Y' : is_friend = 1 # i와 k가 친구고, k와 j가 친구인 경우 else : for k in..
[백준] 1058 친구문제 A가 B의 친구가 되려면 두 사람이 친구거나, A와 친구이고 B와 친구인 C가 존재하면 된다. 가장 친구의 수가 많은 사람의 친구 수 구하기 풀이 A와 거리가 1 또는 2인 노드 개수 구하기 import sys input = sys.stdin.readline N = int(input()) graph = [list(input().strip()) for _ in range(N)] cnt = [0] * N for i in range(N) : for j in range(N) : if i == j : continue is_friend = 0 # i와 j가 친구인 경우 if graph[i][j] == 'Y' : is_friend = 1 # i와 k가 친구고, k와 j가 친구인 경우 else : for k in..
2023.09.03 -
문제 N개의 컴퓨터는 신뢰하는 관계와 신뢰하지 않는 관계로 이뤄져 있다. A가 B를 신뢰하는 경우, B를 해킹하면 A도 해킹할 수 있다. N개의 컴퓨터들 간의 신뢰하는 관계가 주어질 때, 한 번에 가장 많은 컴퓨터를 해킹할 수 있는 컴퓨터의 번호 출력하기\ 1
[백준] 1325 효율적인 해킹문제 N개의 컴퓨터는 신뢰하는 관계와 신뢰하지 않는 관계로 이뤄져 있다. A가 B를 신뢰하는 경우, B를 해킹하면 A도 해킹할 수 있다. N개의 컴퓨터들 간의 신뢰하는 관계가 주어질 때, 한 번에 가장 많은 컴퓨터를 해킹할 수 있는 컴퓨터의 번호 출력하기\ 1
2023.09.03 -
문제 1~30번의 학생이 있다. 특별과제를 제출한 학생들의 출석번호가 주어질 때, 제출하지 않은 학생의 번호를 오름차순으로 출력하기 풀이 1~30번의 학생 번호에서 제출한 학생 번호를 제외하고, 오름차순으로 출력하기 submit = set([int(input()) for _ in range(28)]) numbers = set([i for i in range(1, 31)]) for num in sorted(numbers-submit) : print(num) References 백준 구현
[백준] 5597 과제 안 내신 분..?문제 1~30번의 학생이 있다. 특별과제를 제출한 학생들의 출석번호가 주어질 때, 제출하지 않은 학생의 번호를 오름차순으로 출력하기 풀이 1~30번의 학생 번호에서 제출한 학생 번호를 제외하고, 오름차순으로 출력하기 submit = set([int(input()) for _ in range(28)]) numbers = set([i for i in range(1, 31)]) for num in sorted(numbers-submit) : print(num) References 백준 구현
2023.09.03