반응형
반응형

list 사용 방법

  • 리스트는 [] 기호를 사용하여 표현
  • L = [i for i in L if i % 3 == 0] 도 가능
  • del(L[2]) - 리스트 특정 인덱스 내용을 삭제
  • del(L) - 리스트 자체를 삭제
  • t = (1, 2, 3, 4, 5)
  • L = list(t) - 튜플(tuple), 집합(set)과 같은 다른 자료형을 리스트로 바꾸기 위해서는 list()를 사용
  • append(값) - 리스트에 값을 하나 추가
  • insert(인덱스, 값) - 인덱스 위치에 값을 하나 추가
  • extend(iterable) - iterable 인자를 넘겨 리스트에 추가
  • copy() - 리스트 복사 (리턴받아 사용)
  • remove(값) - 전달한 값을 삭제 (중복된 경우 처음 나오는 값을 삭제)
  • pop(인덱스) - 인덱스에 위치한 값을 리턴하면서 삭제 (인자가 없으면 맨 뒤 값을 pop)
  • clear() - 리스트 값 모두 삭제 (빈 리스트 생성)
  • count(값) - 인자로 전달한 값의 개수를 확인
  • len() - 리스트의 길이를 확인하기 위해서는  함수를 사용
  • index(인덱스) - 인덱스에 위치한 값을 확인
  • reverse() - 리스트에 들어있는 값을 역순(거꾸로)으로 변경
  • sort() - 리스트 내용을 정렬 (오름차순)(reverse=True를 인자로 전달하면 내림차순 정렬이 가능)
반응형

'Python' 카테고리의 다른 글

파이썬 lambda 사용시  (0) 2023.06.01
print 하면 <map object at 0x10446d880> 나올 때  (0) 2023.06.01
zip()  (0) 2023.05.03
combinations()  (0) 2023.05.03
[panda]info()  (0) 2023.04.26
반응형
반응형

문제

현재 Mac pro1에 vscode에서 javac를 통해 컴파일하고 나서 실행할려고 했는데 컴파일에서 cannot find symbol error가 발생했습니다. 원인은 package 때문에 발생했습니다.

 

해결

package를 제거해주거나 위치 설정을 잡아 줍니다.

반응형

'Java' 카테고리의 다른 글

Java 7 functions  (0) 2023.06.18
JDK, JRE, JVM이란?  (0) 2023.06.15
[ERROR]Illegal modifier for the interface field Observer.name; only public, static & final are permitted  (0) 2023.05.29
AOP이란?  (0) 2023.05.11
반응형
반응형

interface 생성 중 객체 생성 할 때 private으로 설정을 해서 Illegal modifier for the interface field Observer.name; only public, static & final are permitted 에러가 발생했습니다.

 

발생 원인은 interface는 외부로 공개되는 메소드를 정의하는 것인데 private 객체를 선언 했기 때문입니다.

error를 해결하는 방법은 private을 public, static & final 수정해주면 됩니다.

반응형

'Java' 카테고리의 다른 글

Java 7 functions  (0) 2023.06.18
JDK, JRE, JVM이란?  (0) 2023.06.15
[ERROR]cannot find symbol  (0) 2023.05.29
AOP이란?  (0) 2023.05.11
반응형

 

문제

postman에서 get 방식 호출하는데 

Cloud Agent Error: Can not send requests to reserved address. Make sure address is publicly accessible or select a different agent.

발생했습니다. 

이유는 postman에서 호출하는건 localhost가 아니라서 인거 같습니다.

 

해결

Desktop을 다운 받고 실행하니 해결되었습니다.

반응형

'IT' 카테고리의 다른 글

Build, Deploy, Complie  (0) 2023.06.13
WEB-INF와 META-INF 차이  (0) 2023.06.13
REST란?  (0) 2023.05.11
SOAP이란?  (0) 2023.05.11
[git]There isn’t anything to compare  (0) 2023.05.08
반응형

무인도 여행 문제

https://school.programmers.co.kr/learn/courses/30/lessons/154540?language=java 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

핵심 내용

지도를 나타내는 문자열 배열 maps가 매개변수로 주어질 때, 각 섬에서 최대 며칠씩 머무를 수 있는지 배열에 오름차순으로 담아 return 하는 solution 함수를 완성해주세요. 만약 지낼 수 있는 무인도가 없다면 -1을 배열에 담아 return 해주세요.

 

코드 및 분석(다른 분의 코드)

*주석은 해당 코드 위에 적는 방식으로 적겠습니다.

import java.util.Arrays;
import java.util.ArrayList;
import java.util.List;

class Solution {
    static int sum=0;
    
    public int[] solution(String[] maps) {
        List<Integer> list = new ArrayList<>();
        
        # 방문한 node를 기록할 객체 생성합니다.
        boolean[][] visited = new boolean[maps.length][maps[0].length()];
        
        # maps의 길이만큰 돌도록 for문 돌립니다.
        for(int i=0; i<maps.length; i++) {
        	for(int j=0; j<maps[i].length(); j++) {
        		
                node마다 dfs 함수를 실행합니다.
                dfs(maps, visited, i, j);
        		if(sum>0) {
        			list.add(sum);
        			sum=0;
        		}
        	}
        }
        
        # 조건 중 list가 0이면 -1 값을 return 합니다.
        if(list.size()==0) return new int[] {-1};
        
        int[] answer = new int[list.size()];
        for(int i=0; i<answer.length; i++) {
        	answer[i]=list.get(i);
        }
        
        # 배열을 오름차순으로 바꿔줍니다.
        Arrays.sort(answer);
        return answer;
    }
    
    public void dfs(String[] maps, boolean[][] visited, int i, int j) {
    	# 인덱스 값이 0 아래이거나 maps의 길이보다 크면 안되기 때문에 체크를 합니다.
        if(i<0 || j<0 || i>=maps.length || j>=maps[0].length()) return;
        
        # 2번째 조건으로 'X'이거나 벌써 사용한 node인지 체크 합니다.
    	if(maps[i].charAt(j) == 'X' || visited[i][j]) return;
    	else {
        	# visited[i][j] 값을 true로 바꿔줍니다.
    		visited[i][j]=true;
            # Ascii code를 사용해서 int로 형변환합니다. '0'의 아스키코드는 48입니다.
    		sum+=maps[i].charAt(j)-'0';
    	}
        
        # i와 j 전체를 탐색하도록 dfs를 호출해줍니다.
    	dfs(maps, visited, i+1, j);
    	dfs(maps, visited, i-1, j);
    	dfs(maps, visited, i, j+1);
    	dfs(maps, visited, i, j-1);
    }
}
반응형
반응형

문제

A company uses AWS Organizations to manage multiple AWS accounts for different departments. The management account has an Amazon S3 bucket that contains project reports. The company wants to limit access to this S3 bucket to only users of accounts within the organization in AWS Organizations. Which solution meets these requirements with the LEAST amount of operational overhead?

(한국어)

회사는 AWS Organizations를 사용하여 서로 다른 부서의 여러 AWS 계정을 관리합니다. 관리 계정에는 프로젝트 보고서가 포함된 Amazon S3 버킷이 있습니다. 회사는 이 S3 버킷에 대한 액세스를 AWS Organizations 내의 계정 사용자에게만 제한하고자 합니다. 가장 적은 운영 오버헤드로 이러한 요구 사항을 충족하는 솔루션은 무엇인가요?

 

A. Add the aws PrincipalOrgID global condition key with a reference to the organization ID to the S3 bucket policy.

B. Create an organizational unit (OU) for each department. Add the aws:PrincipalOrgPaths global condition key to the S3 bucket policy.

C. Use AWS CloudTrail to monitor the CreateAccount, InviteAccountToOrganization, LeaveOrganization, and RemoveAccountFromOrganization events. Update the S3 bucket policy accordingly.

D. Tag each user that needs access to the S3 bucket. Add the aws:PrincipalTag global condition key to the S3 bucket policy.

 

정답

A

 

chatGPT 정답

  1. Amazon S3 버킷 정책 사용: AWS Organizations 내의 계정 사용자에게만 액세스를 제한하기 위해 Amazon S3 버킷에 대한 정책을 설정할 수 있습니다. 정책을 통해 특정 AWS 계정 ID 또는 AWS Organizations의 조직 단위를 지정하여 액세스를 허용하거나 거부할 수 있습니다.
  2. 조직 단위의 정책 관리: AWS Organizations를 사용하여 조직 단위를 만들고 관리할 수 있습니다. 조직 단위에서 각 계정에 대한 액세스 정책을 구성하여 프로젝트 보고서를 포함한 Amazon S3 버킷에 대한 액세스를 제한할 수 있습니다.
  3. 권장사항: AWS Identity and Access Management (IAM)을 사용하여 AWS Organizations 내의 계정 사용자에 대한 권한을 관리하는 것이 좋습니다. 각 계정 사용자에 대한 IAM 정책을 설정하여 필요한 권한만 부여하고, Amazon S3 버킷에 대한 액세스를 조직 내의 계정 사용자에게 제한합니다.
반응형

'AWS > Solutions Architect - Associate SAA-C03' 카테고리의 다른 글

Amazon Athena  (0) 2023.05.21
S3 bucket  (0) 2023.05.21
반응형

문제

A company needs the ability to analyze the log files of its proprietary application. The logs are stored in JSON format in an Amazon S3 bucket. Queries will be simple and will run on-demand. A solutions architect needs to perform the analysis with minimal changes to the existing architecture.

 

(한국어)

최소한의 운영 오버헤드로 기존 아키텍처에 최소한의 변경을 가하면서도, 회사는 소유한 애플리케이션의 로그 파일을 분석할 수 있는 능력을 필요로 합니다. 로그는 JSON 형식으로 Amazon S3 버킷에 저장되어 있으며, 쿼리는 간단하고 필요할 때 실행될 것입니다. 솔루션 아키텍트는 분석을 수행해야 합니다.

 

정답

Use Amazon Athena directly with Amazon S3 to run the queries as needed.

 

Chatgpt 정답

  1. Amazon Athena 사용: Amazon Athena는 SQL 쿼리를 사용하여 S3에서 데이터를 직접 분석할 수 있는 서버리스 쿼리 서비스입니다. JSON 형식으로 저장된 로그 파일에 대해 간단한 온디맨드 쿼리를 실행하는 데 적합합니다.
  2. 스키마 정의: Amazon Athena에서는 AWS Glue 데이터 카탈로그를 사용하거나 Athena 쿼리에서 직접 스키마를 지정하여 JSON 데이터에 대한 스키마를 정의할 수 있습니다. 스키마를 정의함으로써 S3에 저장된 로그 파일을 더 효율적으로 쿼리하고 분석할 수 있습니다.
  3. 테이블 생성: Amazon Athena에서 S3 버킷의 JSON 데이터를 참조하는 테이블을 생성합니다. 직접 JSON 파일을 가리키는 외부 테이블을 생성하거나 AWS Glue 크롤러를 사용하여 S3 버킷의 데이터를 자동으로 발견하고 테이블을 생성할 수 있습니다.
  4. 쿼리 실행: 테이블이 설정되면 Amazon Athena의 쿼리 에디터 또는 원하는 도구를 사용하여 SQL 쿼리를 실행할 수 있습니다. 이러한 쿼리는 S3에 저장된 로그 파일에서 필요한 정보를 분석하고 추출할 수 있습니다.
반응형
반응형

문제

mpany collects data for temperature, humidity, and atmospheric pressure in cities across multiple continents. The average volume of data that the company collects from each site daily is 500 GB. Each site has a high-speed Internet connection. The company wants to aggregate the data from all these global sites as quickly as possible in a single Amazon S3 bucket. The solution must minimize operational complexity. Which solution meets these requirements?

 

(한국어)

다중 대륙의 도시에서 온도, 습도 및 대기압 데이터를 수집하는 회사가 있습니다. 회사는 각 사이트마다 하루에 평균 500GB의 데이터를 수집합니다. 각 사이트는 고속 인터넷 연결이 있습니다. 이 회사는 가능한 빠르게 모든 글로벌 사이트의 데이터를 단일 Amazon S3 버킷으로 집계하고자 합니다. 이 솔루션은 운영 복잡성을 최소화해야 합니다. 위 요구 사항을 충족하는 솔루션은 무엇인가요?

 

정답

Turn on S3 Transfer Acceleration on the destination S3 bucket. Use multipart uploads to directly upload site data to the destination S3 bucket.

 

Chatgpt 정답

  1. Amazon S3 버킷 설정: 집계된 데이터를 저장할 단일 Amazon S3 버킷을 생성합니다.
  2. 사이트 간 복제 구성: 각 사이트의 데이터를 중앙 S3 버킷으로 사이트 간 복제합니다. AWS는 S3 버킷 간 데이터 복제를 위한 여러 옵션을 제공합니다. 예를 들어 S3 Cross-Region Replication 또는 S3 Same-Region Replication 등이 있습니다. 사이트의 지리적 위치에 기반하여 적절한 복제 옵션을 선택합니다.
  3. 고속 인터넷 연결 활용: 각 사이트가 고속 인터넷 연결을 갖고 있으므로 사이트와 중앙 S3 버킷 간의 데이터 전송이 효율적으로 이루어질 수 있습니다.
반응형

+ Recent posts