해당에러는 디렉토리 static.js.app을 생성할때

static.js.app이라고 타이핑 후 생성해서 발생한 것으로 보인다.

해당 문제를 해결 하기 위해서 디렉토리를 delete한 후 다시 디렉토리를 생성할 때 static/js/app 과 같은 형식으로 생성하였더니 문제가 해결되었다.

해당 오류의 원인은 build.gradle에 mustache를 추가해두고 리빌드 하지 않아서 났던 오류였다.

'오늘만난오류' 카테고리의 다른 글

Can't update(has no tracked branch)  (0) 2021.12.25
ERR_ABORED 404  (0) 2021.12.25
리눅스 8080 포트 죽이기  (0) 2021.12.24
Invalid or corrupt jarfile  (0) 2021.12.24
인텔리제이 Database Navigator와 mariaDB 연결 오류  (0) 2021.12.22

https://www.toptal.com/developers/gitignore

 

gitignore.io

Create useful .gitignore files for your project

www.toptal.com

위와 같이 Java와 Intellij+all 을 선택해주면 된다.

 netstat -nap|grep 8080
fuser -k -n tcp 8225

위 8225는 프로세스 id이다.

'오늘만난오류' 카테고리의 다른 글

ERR_ABORED 404  (0) 2021.12.25
Cannot resolve MVC view '???'  (0) 2021.12.25
Invalid or corrupt jarfile  (0) 2021.12.24
인텔리제이 Database Navigator와 mariaDB 연결 오류  (0) 2021.12.22
not work @Transactional(readOnly = true)  (0) 2021.12.16

ec2 리눅스 서버에서 프로젝트의 jar파일을 생성하던중 Invalid or corrupt jarfile을 만나게 되었다.

원인은 프로젝트를 ~/app/step1 위치에다 생성해야되는데 home/ 경로에다 생성해서 오류가 발생하였다.

인텔리제이 우측의 기본 database에서 연결할 경우 잘되지만 

Database Navigator의 경우

연결이 되지않는다 해당 문제가 서버에 있는줄 알고 인바운드 규칙과 rds를 통째로 날리기를 반복하여도 문제가 해결되지 않다가 우연히 인터넷 글을 보고 db Navigator가 잘 동작하지 않을 수 있다는 정보를 입수했다. 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책을 보며 프로젝트를 만드는 사람은 위 내용을 참조하면 많은 도움을 받을 수 있다.

특정 컬럼의 길이를 maxlength 길이만큼 제한합니다.

edit: function (e) {
                e.container.find("input[name=컬럼이름]").attr("maxlength", 5);

}

 

'' 카테고리의 다른 글

kendo ui schema  (1) 2021.12.03
select tag onchange  (0) 2021.12.01
css tag li, ul에서 불릿이나 숫자 제거하는 방법  (0) 2021.10.28

나의 풀이 

def bs(arr, start, end, wanted):
    if end == start:
        return arr[start]
    mid = (start + end) // 2
    
    total = 0
    for i in range(len(arr)):
        dok = arr[i] - arr[mid]
        if dok <0:
            dok = 0
        total += dok
    if total == wanted:
        return arr[mid]
    if total > wanted:
        bs(arr, mid+1, end, wanted)
    else:
        bs(arr, start, mid-1, wanted)

n, k = map(int, input().split())
doks = list(map(int, input().split()))
result = bs(doks, 0, n-1, k)
print(result)

정답

    # 떡의 개수(N)와 요청한 떡의 길이(M)을 입력받기
    n, m = list(map(int, input().split(' ')))
    # 각 떡의 개별 높이 정보를 입력받기
    array = list(map(int, input().split()))

    # 이진 탐색을 위한 시작점과 끝점 설정
    start = 0
    end = max(array)

    #이진 탐색 수행(반복적)
    result = 0
    while(start <= end):
        total = 0
        mid = (start + end) // 2
        for x in array:
            # 잘랐을 때의 떡의 양 계산
            if x > mid:
                total += x - mid
        # 떡의 양이 부족한 경우 더 많이 자르기(왼쪽 부분 탐색)
        if total < m:
            end = mid - 1
        # 떡의 양이 충분한 경우 덜 자르기(오른쪽 부분 탐색)
        else:
            result = mid # 최대한 덜 잘랐을 때가 정답이므로, 여기에서 result에 기록
            start = mid + 1
    # 정답 출력
    print(result)

정답을 통해 나의 풀이가 잘못 된 것을 깨달았다. 나는 단순하게 배열을 이진 탐색해서 구할 생각을 하였는데

생각해보니 떡의 길이를 이진 탐색을 하는게 맞는거 같다. 

'알고리즘' 카테고리의 다른 글

백준 피보나치의 수5  (0) 2021.12.29
백준 설탕 배달 dp  (0) 2021.12.26
부품 찾기  (0) 2021.12.19
두 배열의 원소 교체  (0) 2021.12.19
성적이 낮은 순서로 학생 출력하기 딕셔너리 형태 정렬하기  (0) 2021.12.19

나의 풀이

n = int(input())
nArray = list(map(int, input().split()))
m = int(input())
mArray = list(map(int, input().split()))
answer = list()
s, e = 0, n-1

def binarySearch(arr, target, start, end):
    if end >= start:
        mid = (end + start) // 2
        if arr[mid] == target:
            answer.append('yes')
        elif arr[mid] > target:
            binarySearch(arr, target, start, mid-1)
        else:
            binarySearch(arr, target, mid+1, end)
    else:
        return answer.append('no')
        
for i in range(m):
    binarySearch(nArray, mArray[i], s, e)
    
for ans in answer:
    print(ans, end=' ')

정답

def binary_search(array, target, start, end):
    while start <= end:
        mid = (start + end) // 2
        if array[mid] == target:
            return mid
        elif array[mid] > target:
            end = mid - 1
        else:
            start = mid + 1
    return None
    
n = int(input())
array = list(map(int, input().split()))
array.sort()
m = int(input())
x = list(map(int, input().split()))

for i in x:
    result = binary_search(array, i, 0, n - 1)
    if result != None:
        print('yes', end=' ')
    else:
        print('no', end=' ')

정답을 보고나니 이진 탐색은 작은 인덱스에는 작은 값이 인덱스가 높아지면 큰 값이 저장 되여 있다는 전제가 깔려야

해당 함수가 올바르게 작동한다. 하지만 나는 정렬하는 것을 까먹었다. 하지만 테스트케이스에서는 문제가 발생하지 않아서 잘 모르고 있었다.

n = int(input())
array = [0] * 1000001

for i in input().split():
    array[int(i)] = 1
    
m = int(input())
x = list(map(int, input().split()))

for i in x:
    if array[i] == 1:
        print('yes', end=' ')
    else:
        print('no', end=' ')

위와 같이 계수정렬로 풀수도 있다.

 

또한 아래와 같이 집합 해결할 수 있다.

n = int(input())
array = set(map(int, input().split()))

m = int(input())
x = list(map(int, input().split()))

for i in x:
    if i in array:
        print('yes', end=' ')
    else:
        print('no', end=' ')

나의 풀이

n, k = map(int, input().split())
sum = 0
a = list(map(int,input().split()))
b = list(map(int,input().split()))


a.sort()
b.sort(reverse = True)

for i in range(k):
    a[i] = b[i]
    
for i in range(n):
    sum += a[i]

print(sum)

 

정답

n, k = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))

a.sort()
b.sort(reverse=True)

for i in range(k):
    if a[i] < b[i]:
        a[i], b[i] = b[i], a[i]
    else:
        break
print(sum(a))

 

정답을 본 후 나의 풀이

n, k = map(int, input().split())
sum = 0
a = list(map(int,input().split()))
b = list(map(int,input().split()))


a.sort()
b.sort(reverse = True)

for i in range(k):
    if a[i] < b[i]:
        a[i] = b[i]
    else:
        break
    
for i in range(n):
    sum += a[i]

print(sum)

b의 가장 큰값이 a의 가장 작은 값보다 작을 수 있다는 가정을 빼먹고 문제를 풀었다. 정답을 본 후 그것을 빼먹었다는 것을 깨달았다.

+ Recent posts