프로그래머스 - 프론트엔드 미니 데브코스
upload 컴포넌트
<input type="file" />
단점은 꾸밀수가 없다는 것
=> toggle을 이용하여 숨기고 다른 스타일을 보여줄 수 있다.
onDrop, onDragEnter, onDragLeave, onDragOver 이벤트를 이용하여 파일드롭을 구현할 수 있다.
- preventDefault를 이용하여 브라우저 기본 이벤트를 막고,
- stopPropagation을 이용하여 부모나 자식 컴포넌트로 이벤트가 전파되는 것을 막는다.
Badge 컴포넌트
sns에서 알림 등이 왔을 때 알림이 몇개가 쌓였는지 확인할 수 있는 UI를 Badge라고 부른다.
maxCount, showZero prop을 이용하여
100 이상인 경우 100+로 표현하거나,
0인 경우 표시되지 않도록 구현할 수 있다.
ICON LIBRARY
feather
Feather – Simply beautiful open source icons
Feather is a collection of simply beautiful open source icons. Each icon is designed on a 24x24 grid with an emphasis on simplicity, consistency and readability.
feathericons.com
라이브러리 설치
npm i feather-icons --save
npm i buffer
Avatar 컴포넌트
사용자의 프로필을 나타낼때 쓰임
sns같은 커뮤니티 서비스에서 많이 사용됨
Slider 컴포넌트
볼륨 조절, 비디오 재생바 등에 많이 사용
Git을 활용한 협업(3) - 이현진 TA
브랜치(branch)
코드를 통째로 복사하고 나서 원래 코드와는 상관없이 독립적으로 개발을 진행할 수 있는데,
이렇게 독립적으로 개발하는 것이 브랜치이다.
브랜치 생성하기
git branch 브랜치명
새로 만든 브랜치는 지금 작업하고 있던 마지막 커밋을 가리킨다.
HEAD라는 특수한 포인터 : 지금 작업하는 로컬 브랜치 가리킴
git log --decorate : 브랜치가 어떤 커밋을 가리키고 있는지 확인할 수 있다.
브랜치 이동하기
git checkout 브랜치명
HEAD가 해당 브랜치를 가리킨다.
코딩테스트
윷놀이
arr = [int(i) for i in list(input())]
move = [5, 1, 2, 3, 4]
print(move[arr.count(1)])
세뱃돈
n = int(input())
a = list(map(int, input().split(" ")))
sorted_a = sorted(a)
for i in range(n):
left = sorted_a.index(a[i])
print(left, n - left - 1)
개미탈출 4
def beatable(ATK_J, HP_J, ATK_M, HP_M):
while True:
HP_M -= ATK_J
if HP_M <= 0: return True
HP_J -= ATK_M
if HP_J <= 0: return
def clear(S, M, ATK_J, HP_J, ATK_M, HP_M):
for here in S:
if here == 'O': return True
if here == '#':
if M == 0: return False
M-=1
if here == '&':
if not beatable(ATK_J, HP_J, ATK_M, HP_M):
return False
return False
t = int(input())
for i in range(t):
n, m = map(int, input().split())
s = input()
ATK_J, HP_J = map(int, input().split())
ATK_M, HP_M = map(int, input().split())
JS = s.index('@') #준식이의 위치
L, R = s[:JS], s[JS:]
L = reversed(L)
F = clear(L, m, ATK_J, HP_J, ATK_M, HP_M) or clear(R, m, ATK_J, HP_J, ATK_M, HP_M)
print("HAHA!" if F else "HELP!")
준식이의 위치를 기준으로 왼쪽, 오른쪽을 나누어 각각 가능한지 여부를 판단한다.
준식이의 모험2
test = int(input())
def dir(x):
return "LRUD".index(x)
dr = [0, 0, -1, 1]
dc = [-1, 1, 0, 0]
def move(r, c, x):
d = dir(x)
nr, nc = r + dr[d], c + dc[d]
return nr, nc
def inRange(r, c, n, m):
return 0 <= r < n and 0 <= c < m
def index(s):
for j in range(len(s)):
if '@' in s[j]:
return j, s[j].index('@')
ret = []
for i in range(test):
n, m = map(int, input().split())
s = [input() for i in range(n)]
k = int(input())
t = input()
row, col = index(s)
damaged = 0
for j in range(k):
nr, nc = move(row, col, t[j])
if inRange(nr, nc, n, m) and s[nr][nc] != '#':
row, col = nr, nc
if s[row][col] == '^':
damaged += 1
ret.append((row, col, damaged))
for r, c, damaged in ret:
print(r+1, c+1, damaged)
지금 무슨 노래 듣고 있어요? 2
n = int(input())
a = [input() for i in range(n)]
b = [int(input()) for i in range(n)]
m = int(input())
q = [int(input()) for i in range(m)]
t = [0] * 3001 # 300초 * 10개
p = 1
for i in range(n):
for j in range(b[i]):
t[p] = i
p += 1
p -= 1
for i in range(m):
x = t[(q[i] - 1) % p + 1]
print(a[x])
'SW Academy' 카테고리의 다른 글
[CNU SW Academy] 40일차(23.01.27) (0) | 2023.01.27 |
---|---|
[CNU SW Academy] 39일차(23.01.26) (1) | 2023.01.26 |
[CNU SW Academy] 37일차(23.01.20) (0) | 2023.01.25 |
[CNU SW Academy] 36일차(23.01.19) (0) | 2023.01.19 |
[CNU SW Academy] 35일차(23.01.18) (0) | 2023.01.18 |