Challenge
Careers
Class
Connect
로그인 후 문제풀이가 가능합니다.
JS
2가지로 풀어봤습니다. 1번 코드입니다. // 입력처리 const fs = require('fs'); const input = fs.readFileSync('input.txt', 'utf8') .trim() .split('\n') const [n, m] = input[0].split(' ').map(Number); const nucleicSequences = input.slice(1).map(nucleicSequence => nucleicSequence.split('')) // 비트 마스킹을 위한 0 채우기 nucleicSequences.unshift(-1) //console.log(n, m) //console.log(nucleicSequences) // Sequence 가 1 ~ 5 존재한다고 가정 // Sequence 3에 그룹 1은 Sequence 1 ~ 2 까지가 동일한 염기를 공유하는 그룹 1 인 것. // 따...
11개 테스트케이스 오답으로 나와요.. 예제 부탁드려요 ㅠㅠ
제목대로 테스트케이스 11개가 오답으로 처리됩니다.. 시간초과는 아니구요! 아래코드는 간단한 주석을 달고 올립니다. 고수님들 부탁 드립니다.. 개발자톡에서 몇몇분이 올려주신 엣지케이스들은 통과가 되고 있어요.. ! 제 코드에 해당될 것 같은 반례나, 개선점 제안 부탁 드립니다! import sys #초기 n,m값 받기 n, m = map(int, sys.stdin.readline().split()) def solution(n,m): #염기서열 입력값 저장 initial = [] for _ in range(n): line = sys.stdin.readline().rstrip() if len(line) == m: initial.append(line) #복잡한 아이들 찾기 (알파벳 많이 들어갈 수록 복잡하다) --> 알파벳 포함된 갯수가 dict의 key, 해당 문자...
[HSAT 6회 정기 코딩 인증평가 기출] 염기서열 커버 문제
import sys input = sys.stdin.readline n, l = map(int, input().split()) str_list = [input().strip()] answer = n for i in range(n-1): new_str = input().strip() new_flag = False for s in str_list: for j in range(l): if new_str[j] == s[j] or new_str[j] == '.' or s[j] == '.': pass else: break if j == l-1: new_flag = True if new_flag: answer -= 1 break str_list.append(new_str) print(answer) 반례 있을까요? 뭐가 잘못되었는지 잘 모르겠습니다..
[HSAT 6회 정기 코딩 인증평가 기출] 염기서열 커버 반례 질문드립니다.
n,m = map(int,input().split()) datas = [] temp = [[] for _ in range(n)] for _ in range(n): datas.append(list(input().rstrip())) temp = [] for i in (zip(*datas)): temp.append(list(set(i))) for i in temp: for j in i: if j == '.': i.remove(j) cnt = 0 check = 0 ans = max(temp, key=len) # max_list에 있는 원소 개수 출력 print(len(ans)) 거의 대부분의 반례를 생가했는데... 리스트 길이 최댓값으로 구하면 안되는 문제인가요?
[HSAT 6차] 염기서열 오답 원인?
import sys n,m = map(int, input().split()) first = input() agcts = [list(first)] for i in range(n-1): now = list(input()) # 선발된 염기서열 하나씩 비교 for agct in agcts: same = True # 염기서열 한 자리 씩 비교 for j in range(m): if now[j] != agct[j] and now[j] != "." and agct[j] != "." : same = False if same : for k in range(m): if agct[k] == "." and now[k] != ".": agct[k] =...
[인증평가(6차) 기출] 염기서열 이렇게 풀면 안되나요..?
import java.util.*; import java.io.*; public class Main { public static void main(String args[]) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(bf.readLine()); int n = Integer.parseInt(st.nextToken()); int m = Integer.parseInt(st.nextToken()); String[][] dna = new String[n][m]; HashSet dna_set = new HashSet<>(); int max_cn...
[인증평가(6차) 기출] 염기서열 커버 반례를 찾아주세요.. (python)
import sys input = sys.stdin.readline T, L = map(int, input().split()) cases = [] for _ in range(T): temp = input().replace('\n', '').replace('.', 'z') cases.append(temp) cases.sort() checked = [0] * T candidates = set() for i in range(T): if checked[i]: continue checked[i] = 1 temp = cases[i] for j in range(i+1, T): if checked[j]: continue ttemp = '' flag = True for k in range(L): ...