Algorithm(60)
-
[프로그래머스 - JAVA] 대충 만든 자판
문제 설명 휴대폰의 자판은 컴퓨터 키보드 자판과는 다르게 하나의 키에 여러 개의 문자가 할당될 수 있습니다. 키 하나에 여러 문자가 할당된 경우, 동일한 키를 연속해서 빠르게 누르면 할당된 순서대로 문자가 바뀝니다. 예를 들어, 1번 키에 "A", "B", "C" 순서대로 문자가 할당되어 있다면 1번 키를 한 번 누르면 "A", 두 번 누르면 "B", 세 번 누르면 "C"가 되는 식입니다. 같은 규칙을 적용해 아무렇게나 만든 휴대폰 자판이 있습니다. 이 휴대폰 자판은 키의 개수가 1개부터 최대 100개까지 있을 수 있으며, 특정 키를 눌렀을 때 입력되는 문자들도 무작위로 배열되어 있습니다. 또, 같은 문자가 자판 전체에 여러 번 할당된 경우도 있고, 키 하나에 같은 문자가 여러 번 할당된 경우도 있습니다..
2023.10.17 -
[프로그래머스 - JAVA] 수열과 구간 쿼리 4
문제 설명 정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다. 각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 i가 k의 배수이면 arr[i]에 1을 더합니다. 위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 1,000 0 ≤ arr의 원소 ≤ 1,000,000 1 ≤ queries의 길이 ≤ 1,000 0 ≤ s ≤ e
2023.10.15 -
[파이썬 - 7785] 회사에 있는 사람
문제 상근이는 세계적인 소프트웨어 회사 기글에서 일한다. 이 회사의 가장 큰 특징은 자유로운 출퇴근 시간이다. 따라서, 직원들은 반드시 9시부터 6시까지 회사에 있지 않아도 된다. 각 직원은 자기가 원할 때 출근할 수 있고, 아무때나 퇴근할 수 있다. 상근이는 모든 사람의 출입카드 시스템의 로그를 가지고 있다. 이 로그는 어떤 사람이 회사에 들어왔는지, 나갔는지가 기록되어져 있다. 로그가 주어졌을 때, 현재 회사에 있는 모든 사람을 구하는 프로그램을 작성하시오. 해당 문제는 데이터를 입력해 로그 작성해서 해당 직원이 회사에 남아있나 퇴근했나를 확인하는 문제이다. 처음 작성한 코드 해당 코드의 문제점은 log 값이 리스트로 작성되어 있고 문제에서 요구한 문자열 제한 5글자또한 들어가있지 않았다 때문에 제출..
2023.04.11 -
[파이썬 - 14425번] 문자열 집합
문제 해당 문제는 n, m에 문자열 개수를 할당하고 개수만큼 문자열을 입력한다. n 개수만큼 's 집합'에 문자열을 넣고 해당 값과 같은 문자열이 있는 경우를 count를 통해 몇개 겹치는지를 구하는 문제이다. 처음 이 문제를 접했을 때는 아무생각도 없이 풀어 리스트에 문자열들을 넣어주고 해당 값의 교집합을 구해 개수를 구했다. n, m = map(int, input().split()) nlist = [] for i in range(n): nlist.append(str(input())) mlist = [] for i in range(m): mlist.append(str(input())) intersection = list(set(nlist) & set(mlist)) print(len(intersectio..
2023.04.11 -
[이코테] 왕실의 나이트
input_data = input() row = int(input_data[1]) column = int(ord(input_data[0]) - int(ord('a')) + 1) # a = 97 ~ h = 104 # 이동 범위 status = [(-2, -1), (-2, 1), (-1, -2), (1, -2), (2, -1), (2, 1), (-1, 2), (1, 2)] # 범위는 8 * 8 이므로 1 ~ 8 사이 값만 가능하다 # 입력 값들을 바꿔서 status 값에 있는 데이터를 넣었을 떄 0 미만 8 초과일 경우 아님 result = 0 for i in status: n = row + i[0] m = column + i[1] if (n >= 1 and n =1 and m
2023.03.27 -
[이코테] 시각
# 완전 탐색 유형 # 정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하시오. # 예를 들어 1을 입력했을 때 다음은 3이 하나라도 포함되어 있으므로 세어야 하는 시각이다. # 00시 00분 03초 n = int(input()) count = 0 for h in range(n+1): for m in range(60): for s in range(60): if ('3' in str(h) + str(m) + str(s)): count += 1 print(count)
2023.03.26