본문 바로가기

전체 글

(94)
[python] 코딩테스트 대비 - 이분검색(랜선자르기) 문제) 답안 코드) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import sys #sys.stdin=open("input.txt", "r") def Count(len):#len으로 짜를 수 있는 총 갯수 리턴 cnt=0 for x in Line: cnt+=(x//len) return cnt k, n=map(int, input().split()) Line=[]#길이 리스트 res=0#정답 largest=0#최대 값 for i in range(k): tmp=int(input()) Line.append(tmp) largest=max(largest, tmp) lt=1 rt=largest#1~최대값 범위 지정 whi..
[python] 코딩테스트 대비 - 이분검색(결정알고리즘) 문제) 답안 코드) 이분 탐색은 시간 복잡도 log_2 N을 보장한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import sys #sys.stdin=open("input.txt", "r") n, m=map(int, input().split()) a=list(map(int, input().split())) a.sort() lt=0#왼쪽 포인터 rt=n-1#오른쪽포인터 while ltm:#중간값이 정답보다 크다면, rt=mid-1 else:#작다면 lt=mid+1 cs
[python] 코딩테스트 대비 - 2차원 배열에서 회문 탐색 문제) 답안 코드) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import sys #sys.stdin=open("in1.txt", "r") board=[list(map(int, input().split())) for _ in range(7)] cnt=0 len=5 for i in range(3): for j in range(7):#가로 검사 tmp=board[j][i:i+len]#5글자 검사 if tmp==tmp[::-1]:#회문인지 확인 cnt+=1 for k in range(len//2):#세로 검사 if board[i+k][j]!=board[len-k+i-1][j]:#맨앞 맨뒤 비교 반복 break else: cnt+=1 print(cnt) Colored ..
[python] 코딩테스트 대비 - 스토쿠 검사 문제) 답안코드) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 import sys #sys.stdin=open("input.txt", "r") def check(a): for i in range(9): ch1=[0]*10#행 체크 ch2=[0]*10#열 체크 for j in range(9): ch1[a[i][j]]=1#행 ch2[a[j][i]]=1#열 if sum(ch1)!=9 or sum(ch2)!=9:#합이 9가 아니면 중복 숫자가 있는것 return False #3x3 9개 검사 for i in range(3):#9개 3x3 중 1개 선택 for j in range(3):#9개 3x3 중 1개 선택 ..
[python] 코팅테스트 대비 - 2차원 배열 상하좌우 비교 문제) 정답 코드) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import sys #sys.stdin = open("input.txt", 'r') dx=[-1, 0, 1, 0]#상하좌우 탐색을 위함. dy=[0, 1, 0, -1]#상하좌우 탐색을 위함. n=int(input()) a=[list(map(int, input().split())) for _ in range(n)] ######0으로 배열 둘러 싸기####### a.insert(0, [0]*n)#최상단에 0배열 추가 a.append([0]*n)#최하단에 0배열 추가 for x in a:#각 행마다 맨 앞, 맨 뒤에 0추가 x.insert(0, 0) x.append(0) #######..
[python] 코딩테스트 대비 - 2차원 배열 회전 및 모래시계 탐색 문제) 답안코드) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 import sys #sys.stdin = open("input.txt", 'r') n=int(input()) a=[list(map(int, input().split())) for _ in range(n)] m=int(input())#회전 명령 수 for i in range(m): h, t, k=map(int, input().split())#행, 방향, 수 if(t==0):#왼쪽일 경우 for _ in range(k): a[h-1].append(a[h-1].pop(0))#맨 앞자료를 빼서 맨 뒤로 삽입 else:#오른쪽일 경우 for _ in ..
[python] 코딩테스트 대비 - 2차원배열 다이아몬드 문제) 답안 코드) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import sys #sys.stdin = open("input.txt", 'r') n=int(input()) a=[list(map(int, input().split())) for _ in range(n)] res=0#정답 s=e=n//2#초기값(격자판 가운데 최상단) for i in range(n): for j in range(s, e+1): res+=a[i][j] if i
[JAVA] 기초문법 - 파일입출력(2) FileInputStream객체로 한글을 읽으면 깨짐 현상이 발생한다. 이것을 InputStreamReader 보조스트림으로 해결하는 방법은 다음과 같다.(문자로 변환) FileInputStream을 InputStreamReader의 매개변수로 전달해서 객체생성. Filereader객체로 읽으면 한글깨짐이 없지만. Sysyem.in와 같은 바이트만 읽는 객체를 문자로 변환하는 경우도 있기 때문에 제공되는 보조스트림인다.(소켓에서도 사용한다.) 버퍼링기능 제공하는 스트림 파일복사 예제(버퍼사용x) 걸리는 시간 체크 많은 시간이 걸리는 것을 알 수 있다. 버퍼사용 한 파일 복사-시간체크 버퍼 보조스트림을 사용해서 복사시간이 단축된것을 알 수 있다. 데이터의 자료형을 보존하면서 읽고 쓰는 기능을 제공하는 스트..