Loading...

[swexpert] 2047. 신문 헤드라인 (D1, python, java)

1. 파이썬 풀이 s=input() converted=[x.upper() for x in s] print(''.join(converted)) 2. 자바 풀이 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String s=sc.next(); System.out.println(s.toUpperCase()); sc.close(); } }

[swexpert] 2046. 스탬프 찍기 (python, java, D1 )

1. 파이썬 풀이 n=int(input()) print(n*'#') 2. 자바 풀이 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); String s=""; for (int i = 0; i < n; i++) { s+="#"; } System.out.println(s); sc.close(); } }

[swea] 2056. 연월일 달력 (python, java , D1)

문제풀이 언어를 파이썬으로 바꾼 이후로 쉬운 문제부터 다시 연습하고 있다 swea1, 2 부터 다 풀려고 한다 달력 일자 별로 배열에 담아 푸는 방법도 있는데 그게 더 나을 것 같다 1. python 풀이 t=int(input()) for i in range(t): print('#%s' %(i+1),end=' ') date=input() year=int(date[:4]) month=int(date[4:6]) dd=int(date[6:]) if month 12: print(-1) continue if month in [1,3,5,7,8,10,12]: if dd 31: print(-1) continue if month ==2: if dd28: print(-1) continue if month in [4,6,..

leetCode - move zeros (python, javascript)

0 1 0 3 12 가 있을 때 앞에 0이 있으면 뒤의 값과 바꾸는 알고리즘을 사용했다 (삽입 정렬) 만약 이전 값이 0이 아닌 수가 있으면 앞에는 이미 0이 없는 상태이므로 다음 원소로 넘어가면 된다 class Solution: def moveZeroes(self, nums: List[int]) -> None: """ Do not return anything, modify nums in-place instead. """ for i,e in enumerate(nums): for j in range(i-1,-1,-1): if nums[j]!=0: break nums[j]=nums[j+1] nums[j+1]=0 2) 비슷하지만 조금 다른 풀이 idx=0 (0의 위치라고 가정)로 둔다. 만약 0이 아닌 수가 ..

[프로그래머스] 쿼드 압축 후 개수 세기

for 문이나 재귀로 돌면서 길이를 반으로 줄여가며 전수 검사한다 def solution(arr): answer = [0,0] n=len(arr) def go(x,y,l): cur=arr[x][y] for i in range(x,x+l): for j in range(y,y+l): if arr[i][j]!=cur: # 다르면 길이 짧게한다 ll=l//2 go(x,y+ll,ll) # 다음 시작점 go(x+ll,y,ll) go(x,y,ll) go(x+ll,y+ll,ll) return answer[cur]+=1 # 해당 범위 내 수가 다 같으면 해당 원소의 개수를 더해주면 된다 go(0,0,n) return answer

[프로그래머스] 이진 변환 반복하기 (python)

1의 개수만큼 계속 문자열이 '1'이 될 때까지 이진 변환을 해준다. n은 이진 변환한 횟수, c는 삭제한 0의 개수이다. 0의 개수는 계속 더해주며 1의 개수만큼 이진변환을 해준다. def solution(s): n=0 c=0 while s!='1': c+=s.count('0') s=str(bin(len(s)-s.count('0'))[2:]) n+=1 return [n,c]

[프로그래머스] 내적 (파이썬 ,python, javascript)

1. 파이썬 풀이 각 위치의 수를 곱한 뒤 더하기 def solution(a, b): answer = 0 for x,y in zip(a,b): answer+=x*y return answer 2. 자바스크립트 풀이 function solution(a, b) { return a.reduce((acc,cur,idx)=>{ return acc+cur*b[idx]; },0) }

[프로그래머스] 두 개 뽑아서 더하기 (python, javascript)

1. 파이썬 풀이 중복없이 저장하기 위해 dictionary를 썼다 def solution(numbers): dict={} for i,n in enumerate(numbers): for j,m in enumerate(numbers): if i==j: continue dict[n+m]=n+m return sorted(dict.values()) sorted는 새로운 배열을 반환한다 2. javascript 풀이 function solution(numbers) { var answer = []; for(let i=0;i

[백준 2644번] 촌수계산 (python, dfs)

www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1≤n≤100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어진 www.acmicpc.net 리스트 형태로 이어져있는 노드에 대한 정보를 다 놓고 visited 배열을 이용해 방문한 적 없는 노드들과 다 연결시킨다. dfs를 돌려도 다 연결이 안되었다면 서로 이어져있지 않는 관계이다. import sys from collections import defaultdict from collections import deque input=sys.stdin.readline def dfs(a,b):..

[백준 2343번] 기타 레슨 (이분탐색, python, binary search)

www.acmicpc.net/problem/2343 2343번: 기타 레슨 강토는 자신의 기타 레슨 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 레슨이 들어가는데, 블루레이를 녹화할 때, 레슨의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경 www.acmicpc.net 이분탐색 자체보다는 각 크기를 잘못 계산하는 바람에 계속 틀렸다 l=min(lesson)으로 해줬었는데 그러면 기준 크기 mid보다 각 음악의 길이가 더 클 때 문제가 된다. 따라서 l=max(lesson)으로 해줘서 최소 한 블루레이 크기에 한 음악은 들어갈 수 있도록 해줘야한다. import sys input=sys.stdin.readline from collections import deque n,m=map(in..